window容器

先问大家一个问题,window上可以跑docker吗?当然可以,其实这句话有两层意思,第一层意思是,window上可以安装docker桌面版本,跑linux容器,本质上,是在window上面启动一个virtualbox的linux,然后在上面跑docker,毕竟runc的namespace和cgroup特性都需要内核支持,那么这就存在一个问题,如果是window的应用如何迁移到容器环境呢?
这里引入第二个概念,在window上面跑window容器。废话不多说,我们先来个hello world

在这里插入图片描述
可以看到成功的进入了容器内部。和linux上面docker的感觉是一致的。宿主机是2019的系统,容器里面是2018的系统,能够正常运行
在这里插入图片描述
既然docker 可以搞,containerd是否一样可以玩呢?
先安装并启动containerd

#下载
cmd /c curl -OL https://github.com/containerd/containerd/releases/download/v1.4.1/containerd-1.4.1-windows-amd64.tar.gz
cmd /c tar xvf .\containerd-1.4.1-windows-amd64.tar.gz


# 解压并配置
Copy-Item -Path ".\bin\" -Destination "$Env:ProgramFiles\containerd" -Recurse -Force
cd $Env:ProgramFiles\containerd\
.\containerd.exe config default | Out-File config.toml -Encoding ascii

# 启动 containerd
.\containerd.exe --register-service
Start-Service containerd

创建容器

.\ctr i  pull   mcr.microsoft.com/windows/nanoserver:1809
.\ctr c create mcr.microsoft.com/windows/nanoserver:1809 wx  cmd /c  "ping -t 127.0.0.1"
.\ctr t start -d wx

验证一下
在这里插入图片描述

### Docker 容器Windows 上以 root 用户权限运行 对于 Windows 操作系统的用户来说,直接以 root 权限启动 Docker 容器的概念并不完全适用,因为 Windows 和 Linux 的用户管理系统存在差异。不过,在 Windows 上安装并使用的 Docker Desktop 实际上是在后台运行了一个轻量级的 Linux 虚拟机来支持容器化应用。 当提到以 root 用户权限启动 Docker 容器时,这主要适用于基于 Linux 的环境。而在 Windows 中: - 使用 Docker Desktop 创建和管理容器的过程中,默认情况下会按照所选镜像的基础设置决定容器内的初始用户身份。 - 如果基础镜像是基于 Linux 发行版,则默认会在该虚拟化的 Linux 环境下作为 root 用户执行命令[^1]。 为了确保能够在 Windows 平台上模拟以 root 用户权限启动 Docker 容器的行为,可以采取如下措施之一: #### 方法一:利用官方镜像特性 许多官方提供的 Docker 镜像已经预设好允许以 root 或其他自定义用户的身份启动服务。因此,只需正常拉取所需镜像即可满足需求。 ```bash docker pull ubuntu:latest ``` #### 方法二:通过 `--user` 参数指定用户 可以在启动容器时显式地指明希望采用哪个用户账号来进行操作。虽然这里讨论的是针对非 Root 用户的情况,但如果确实需要的话也可以设定为 "root": ```bash docker run -d --name my_container_name --user=root ubuntu:latest bash -c 'while true; do sleep 30; done' ``` 需要注意的是,即便是在 Windows 上部署了 Docker,上述指令也是作用于底层由 WSL2 提供支撑的那个 Linux 子系统内;也就是说,这里的 “root” 是相对于那个隔离出来的 Linux 文件系统而言,并不会影响到真实的 Windows 主机本身的安全性[^4]。 另外值得注意的一点是,出于安全性考虑,除非绝对必要,否则不建议总是以 root 用户身份运行容器中的应用程序和服务[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳清风09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值