阿里云Windows Server 2022 安装 Docker
文章目录
- 情景
- 尝试
- 正解
- 安装Docker管理工具
- 安装Docker
- 重启系统
- 配置Docker系统路径
- 配置Docker引擎(也许不用)
- 启动Docker服务
情景
情景:最近一直在搞微服务,团队的服务器是阿里云的 Windows Server 2022,之前部署的是单体应用,单体后端+单体前端的 CI/CD 倒也不痛不痒。但上了微服务之后,一下子就变得麻烦起来,哪怕手动部署也嫌得麻烦。决定还是在服务器上装一下Docker。
尝试
不确定Windows Server能不能直接装,最初就先按自己电脑装 Docker Desktop 的路子试了试,能装上,但是 Docker Engine 运行存在问题,Docker Desktop 打开时一直在初始化,估计是Windows Server 不支持 hype-v 的关系,尝试安装 WSL2 也装不上,看来这路子走不通。
正解
换个方法,Windows Server 本身支持 Docker EE,那就直接安装 Docker Enterprise 吧。在这之前,切记把安装过的 Docker Desktop 卸载干净,不卸载的话至少也要把 C:\User\sysetem32 下面的 docker.exe 和 dockerd.exe 删掉,不然会影响 Docker EE 的运行与配置:
安装Docker管理工具
在 powershell 中执行以下命令:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
问问题时,可以直接回车,默认是yes
安装Docker
在 powershell 中执行以下命令:
Install-Package -Name docker -ProviderName DockerMsftProvider
问问题时,输入y,因为默认是no
重启系统
Restart-Computer -Force # 手动重启也行
配置Docker系统路径
设置环境变量:Path -> 添加:
C:\Program Files\Docker
配置Docker引擎(也许不用)
C:\ProgramData\Docker\config\daemon.json
,没有就手动创建
{
"authorization-plugins": [],
"dns": [],
"dns-opts": [],
"dns-search": [],
"exec-opts": [],
"storage-driver": "",
"storage-opts": [],
"labels": [],
"log-driver": "",
"mtu": 0,
"pidfile": "",
"data-root": "",
"cluster-store": "",
"cluster-advertise": "",
"debug": true,
"hosts": ["tcp://0.0.0.0:2375"],
"log-level": "",
"tlsverify": true,
"tlscacert": "",
"tlscert": "",
"tlskey": "",
"group": "",
"default-ulimits": {},
"bridge": "",
"fixed-cidr": "",
"raw-logs": false,
"registry-mirrors": [],
"insecure-registries": [],
"disable-legacy-registry": false
}
启动Docker服务
在 powershell 中执行以下命令:
Start-Service Docker
到这里,就可以正常使用Docker了,来句 docker run hello-world
跑个Helle World试试成效:
Windows容器文档:https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/(官方手册仅供参考)