如何在没有互联网的情况下在 Windows Server 2016 上安装 Docker?

如何在没有互联网的情况下在 Windows Server 2016 上安装 Docker?

我正在尝试在未连接到互联网的 Windows Server 2016 VM 上安装 docker。官方 docker 文档没有提供任何有关在没有互联网的情况下在 Windows Server 2016 VM 上安装的建议,那么我该如何实现这一点?

我在某处读到一篇博客,上面说下载 docker.exe 和 dockerd.exe 文件并将它们放在 C:\Windows\System32 中,然后运行dockerd.exe --register-service即可安装 Docker。虽然这似乎“有效”(docker info有输出),但尝试从我的本地注册表中拉取映像失败(它只是冻结而没有错误输出)。此外,我注意到没有 DockerNAT NIC 设置,我猜还有其他我不知道的步骤缺失了。

答案1

Docker 网站实际上记录了整个过程。

  1. 在 PowerShell 命令提示符中,在具有连接的计算机上下载安装程序存档。
invoke-webrequest -UseBasicparsing -Outfile docker-17.06.2-ee-7.zip https://download.docker.com/components/engine/windows-server/17.06/docker-17.06.2-ee-7.zip
  1. 将 zip 文件复制到要安装 Docker 的计算机。在 PowerShell 命令提示符中,使用以下命令提取存档、注册并启动 Docker 服务。
# Extract the archive.
Expand-Archive docker-17.06.2-ee-7.zip -DestinationPath $Env:ProgramFiles

# Clean up the zip file.
Remove-Item -Force docker-17.06.2-ee-7.zip

# Install Docker. This requires rebooting.
$null = Install-WindowsFeature containers

# Add Docker to the path for the current session.
$env:path += ";$env:ProgramFiles\docker"

# Optionally, modify PATH to persist across sessions.
$newPath = "$env:ProgramFiles\docker;" +
[Environment]::GetEnvironmentVariable("PATH",
[EnvironmentVariableTarget]::Machine)

[Environment]::SetEnvironmentVariable("PATH", $newPath,
[EnvironmentVariableTarget]::Machine)

# Register the Docker daemon as a service.
dockerd --register-service

# Start the Docker service.
Start-Service docker
  1. 通过运行 hello-world 容器来测试您的 Docker EE 安装。
docker container run hello-world:nanoserver

为 Windows Server 安装 Docker 企业版

由于您未能提供所使用的 Windows Server 版本,因此以下信息可能相关。

由于镜像不兼容问题,Windows Server 1709 目前不支持 Docker Universal Control Plane。若要使用 UCP,目前请使用当前 LTSB Windows 版本,而不是 1709。

相关内容