【发布时间】:2021-06-30 16:15:36
【问题描述】:
我正在尝试在此 VM 上安装 docker
但我收到以下错误:
根据this documentation,windows server 2016 datacenter 确实支持 docker。
同样在microsoft site 中,至少在 2019 年指定了支持容器化,这个操作系统有不同的版本吗?
【问题讨论】:
我正在尝试在此 VM 上安装 docker
但我收到以下错误:
根据this documentation,windows server 2016 datacenter 确实支持 docker。
同样在microsoft site 中,至少在 2019 年指定了支持容器化,这个操作系统有不同的版本吗?
【问题讨论】:
根据文档,问题似乎是Docker Desktop,根据这篇文章Build and run your first Docker Windows Server container,对于Windows服务器,您需要通过命令行执行安装:
Windows Server 2016 运行后,登录并运行 Windows Update 以确保您拥有所有最新更新并直接安装 Windows 原生 Docker 引擎(即不使用“Docker for Windows”)。在管理 PowerShell 提示符下运行以下命令:
Install-Module -Name DockerMsftProvider -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
Restart-Computer -Force
Docker 引擎现在作为 Windows 服务运行,侦听默认的 Docker 命名管道。对于(例如)在 Windows 10 上的 Hyper-V 虚拟机中运行的开发虚拟机,让在 Windows Server 2016 虚拟机中运行的 Docker 引擎可用于 Windows 10 主机可能是有利的:
打开防火墙端口 2375
netsh advfirewall firewall add rule name="docker engine" dir=in action=allow protocol=TCP localport=2375
将 Docker 守护进程配置为同时侦听管道和 TCP(替换上面的 docker --register-service 调用)
Stop-Service docker
dockerd --unregister-service
dockerd -H npipe:// -H 0.0.0.0:2375 --register-service
Start-Service docker
现在可以通过设置 DOCKER_HOST 从 VM 主机使用 Windows Server 2016 Docker 引擎:
$env:DOCKER_HOST = "<ip-address-of-vm>:2375"
【讨论】: