赞
踩
情景:最近一直在搞微服务,团队的服务器是阿里云的 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 的运行与配置:
在 powershell 中执行以下命令:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
问问题时,可以直接回车,默认是yes
在 powershell 中执行以下命令:
Install-Package -Name docker -ProviderName DockerMsftProvider
问问题时,输入y,因为默认是no
Restart-Computer -Force # 手动重启也行
设置环境变量:Path -> 添加:
C:\Program Files\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 }
在 powershell 中执行以下命令:
Start-Service Docker
到这里,就可以正常使用Docker了,来句 docker run hello-world
跑个Helle World试试成效:
Windows容器文档:https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/(官方手册仅供参考)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。