windows - Windows Server 2016 数据中心上的 Docker 安装失败
问题描述
我正在尝试在此 VM 上安装 docker
但我收到以下错误:
根据这个文档,windows server 2016 datacenter 确实支持 docker。
同样在microsoft 站点中,至少对于 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"
推荐阅读
- python - VS代码设置,找不到python 3
- c++ - 编译时选择特定方法,伪装成操作符
- sql - 如何选择多列并按一列分组
- visual-studio-code - 处理 webview 的关闭事件
- firebase - 如何使用 Cordova 将动态数据从表单传递到 Firestore?
- openapi - springdoc 使用@ApiResponse(java注释)的多个404响应
- python - python中的文件结构重命名
- python - psycopg2.errors.NotNullViolation) el valor null para la columna «name» viola la restrictción not null
- python - 如何将许多嵌套字典的所有值存储在列表中
- node.js - npm 不在 WSL 上安装包