阿里云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/(官方手册仅供参考)