Windows Server 2019 VM 或裸机主机
(仅限 VM)启用嵌套虚拟化
(仅限 VM)启用 MAC 地址欺骗
Hyper-V 和容器 Windows 功能已启用。
您可以从命令行安装这些
Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools
安装 Docker EE
安装 Docker 包括 2 个步骤,安装包含最新版本 Docker 的 Package Provider,以及安装 Docker Package。
安装 Package Provider 很简单
Install-Module DockerMSFTProvider
一旦到位,我们需要导入新模块和相关的包提供
Import-Module -Name DockerMSFTProvider -Force
Import-Packageprovider -Name DockerMSFTProvider -Force
我们可以通过查看Find-Package新的 docker 包是否可用来确认这是否有效
PS C:\> Find-Package docker
################################
# Expected Output
################################
Name Version Source Summary
---- ------- ------ -------
Docker 18.09.1 DockerDefault Contains Docker EE for use with Windows Server.
Docker 1.3.2 PSGallery This module helps with development using Doc...
现在剩下的就是安装 Docker 本身
Install-Package -Name Docker -Source DockerDefault
启用 Linux 容器支持
现在我们已经安装了 Docker,我们需要对默认配置进行一些更改以启用对 Linux 容器的支持。
这涉及设置环境变量和创建 docker 守护进程配置文件。
解决 unsupported os linux
# Set LCOW_SUPPORTED Variable to 1 for enabled
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
# Enable Experimental Features in Dockerd daemon.conf
$configfile = @"
{
"experimental": true
}
"@
$configfile | Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force
因为 Linux Containers 仍然需要一个 Linux 内核,所以我们需要部署 LCOW 让它运行。
您应该在这里使用最新的 LCOW 版本
Invoke-WebRequest -Uri "https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip" -UseBasicParsing -OutFile release.zip
Expand-Archive release.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."
重启docker
Restart-Service Docker
完美导入