在Windows服务器上安装Docker Engine-Enterprise
预计阅读时间: 8分钟Docker Engine-Enterprise在Windows Server上启用本机Docker容器。支持Windows Server 2016和更高版本。Docker Engine-Enterprise安装软件包包括在Windows Server上运行Docker所需的一切。本主题描述了安装前注意事项,以及如何下载和安装Docker Engine-Enterprise。
发行说明
系统要求
还需要按照Windows Server要求中指定的要求,满足有关特定CPU和RAM要求的Windows OS 要求 。这提供了有关特定CPU和内存规格和功能(指令集,如CMPXCHG16b,LAHF / SAHF和PrefetchW,安全性:DEP / NX等)的信息。
- 操作系统版本:
- 长期服务渠道(LTSC)-2016年和2019年(核心和GUI)
- 半年频道(SAC)-1709、1803和1809
- 内存:4GB
- 磁盘空间: Windows最低建议为32 GB 。Docker建议为ServerCore和NanoServer的基础映像增加32 GB的空间,并为运行IIS,SQL Server和.Net应用程序的工作负载容器提供缓冲区空间。
安装Docker Engine-Enterprise
要在主机上安装Docker Engine-Enterprise,Docker提供了一个OneGet PowerShell模块。
-
打开提升的PowerShell命令提示符,然后键入以下命令。
Install-Module DockerMsftProvider -Force Install-Package Docker -ProviderName DockerMsftProvider -Force
-
检查是否需要重新启动,如果是,请重新启动实例。
(Install-WindowsFeature Containers).RestartNeeded
如果此命令的输出为Yes ,则使用以下命令重新启动服务器:
Restart-Computer
-
通过运行
hello-world
容器来测试Docker Engine-Enterprise安装。Windows Server 2019
docker run hello-world:nanoserver
Windows Server 2016
docker run hello-world:nanoserver-sac2016
容器启动,打印问候消息,然后退出。
Unable to find image 'hello-world:nanoserver' locally nanoserver: Pulling from library/hello-world bce2fbc256ea: Pull complete 3ac17e2e6106: Pull complete 8cac44e17f16: Pull complete 5e160e4d8db3: Pull complete Digest: sha256:25eac12ba40f7591969085ab3fb9772e8a4307553c14ea72d0e6f98b2c8ced9d Status: Downloaded newer image for hello-world:nanoserver Hello from Docker! This message shows that your installation appears to be working correctly.
(可选)确保您具有所有必需的更新
一些高级Docker功能(例如群模式)需要KB4015217中包含的修复程序(或更高版本的累积修补程序)。
sconfig
选择选项6) Download and Install Updates
。
FIPS 140-2加密模块支持
联邦信息处理标准(FIPS)出版物140-2是美国联邦对加密模块的安全要求。
有了Docker Engine-Enterprise Basic许可证(版本18.09及更高版本),Docker在Windows Server中提供了FIPS 140-2支持。这包括FIPS支持的加密模块。如果Windows实现已启用FIPS支持,则在Docker引擎中自动启用FIPS。
注意: FIPS 140-2仅在Docker Engine-Enterprise引擎中受支持。UCP和DTR当前不支持FIPS 140-2。
要在非FIPS 140-2模式下的系统上启用FIPS 140-2合规性,请在PowerShell中执行以下命令:
[System.Environment]::SetEnvironmentVariable("DOCKER_FIPS", "1", "Machine")
也可以通过Windows注册表启用FIPS 140-2模式。要更新相关的注册表项,请以管理员身份执行以下PowerShell命令:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\" -Name "Enabled" -Value "1"
通过运行以下命令重新启动Docker服务。
net stop docker
net start docker
要确认Docker在启用FIPS-140-2的情况下运行,请运行docker info
命令:
Labels:
com.docker.security.fips=enabled
注意:如果系统在操作系统上安装了FIPS-140-2加密模块,则可以禁用FIPS-140-2遵从性。要在Docker中禁用FIPS-140-2,但在操作系统中禁用,请在
[System. ,将值设置为
"DOCKER_FIPS","0"
[System.Environment]
。`
使用脚本安装Docker Engine-Enterprise
如果您想通过脚本手动或在空白系统上手动安装Docker Engine-Enterprise,请使用以下指南。
-
在PowerShell命令提示符下,将安装程序存档下载到具有连接的计算机上。
# On an online machine, download the zip file. Invoke-WebRequest -UseBasicParsing -OutFile docker-19.03.5.zip https://download.docker.com/components/engine/windows-server/19.03/docker-19.03.5.zip
如果您需要下载特定的Docker Engine-Enterprise Engine版本,则可以在此JSON索引中找到所有URL。
-
将zip文件复制到要安装Docker的机器上。在PowerShell命令提示符中,使用以下命令提取存档,注册并启动Docker服务。
# Stop Docker service Stop-Service docker # Extract the archive. Expand-Archive docker-19.03.5.zip -DestinationPath $Env:ProgramFiles -Force # Clean up the zip file. Remove-Item -Force docker-19.03.5.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
-
通过运行
hello-world
容器来测试Docker Engine-Enterprise安装。Windows Server 2019
docker container run hello-world:nanoserver
Windows Server 2016
docker container run hello-world:nanoserver-sac2016
安装特定版本
要安装特定版本,请使用RequiredVersion
标志:
Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion 19.03
...
Name Version Source Summary
---- ------- ------ -------
Docker 19.03 Docker Contains Docker Engine - Enterprise for use with Windows Server...
更新DockerMsftProvider
安装特定的Docker Engine-企业版可能需要更新以前安装的DockerMsftProvider模块。更新:
Update-Module DockerMsftProvider
然后打开一个新的PowerShell会话,以使更新生效。
更新Docker引擎-企业
要将Docker Engine-Enterprise更新到最新版本,请指定-RequiredVersion
和-Update
标志:
Install-Package -Name docker -ProviderName DockerMsftProvider -RequiredVersion 19.03 -Update -Force
所需的版本号必须与JSON索引上可用的版本匹配
卸载Docker Engine-Enterprise
使用以下命令从Windows Server完全删除Docker Engine-Enterprise:
-
保留所有活动的Docker Swarm。
docker swarm leave --force
-
删除所有正在运行和已停止的容器。
docker rm -f $(docker ps --all --quiet)
-
修剪容器数据。
docker system prune --all --volumes
-
卸载Docker PowerShell软件包和模块。
Uninstall-Package -Name docker -ProviderName DockerMsftProvider Uninstall-Module -Name DockerMsftProvider
-
清理Windows网络和文件系统。
Get-HNSNetwork | Remove-HNSNetwork Remove-Item -Path "C:\ProgramData\Docker" -Recurse -Force
准备Windows主机以与UCP一起使用
要将Windows Server主机添加到现有的Universal Control Plane群集,请遵循先决条件和加入说明列表。
关于Docker Engine-企业容器和Windows Server
寻找有关使用Docker Engine-Enterprise容器的信息吗?
-
Windows容器入门(实验室)提供了有关如何在Windows 10或Windows Server 2016上设置和运行Windows容器的教程。它显示了如何在Windows容器中使用MusicStore应用程序。
接下来去哪里
-
入门概述了Windows版Docker桌面,基本Docker命令示例,如何获取帮助或提供反馈以及指向Docker Windows版指南中所有主题的链接。
-
发行说明列出了与稳定版和Edge发行版相关的组件更新,新功能和改进。
-
学习Docker提供了常规的Docker教程。
-
Windows Server上的Windows容器是Microsoft的官方文档。