首先上结论:不支持,换种方式折腾吧。
以下是实践过程及想在server2019上运行docker容器的另外思路。
——————————————————正文————————————————————————
搞了很久,在网上查了很多资料,但都没有解决,总是在执行Install-Package -Name docker -ProviderName DockerMsftProvider -Force这一步的时候报错,说找不到DockerDefault_DockerSearchIndex.json这个文件。

后来放弃了这种安装方法,重新来过。

安装Hyper-V、Containers、WSL

进入服务器管理器,添加角色和功能。

安装Hyper-V:
在这里插入图片描述

安装Containers:

在这里插入图片描述

或者执行:

Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools

安装WSL:

在这里插入图片描述

安装后重启服务器。

配置Docker支持Linux容器

# Set LCOW_SUPPORTED Variable to 1 for enabled
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

$configfile = @"
{
    "experimental": true
}
"@
$configfile|Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force

安装docker

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1

验证docker是否安装成功

docker -v

在这里插入图片描述

这样安装的docker,在拉取镜像时可能会报错:

image operating system “linux” cannot be used on this platform: operating system is not supported

这是由于:

在Windows Server上直接运行Linux容器的功能通常由WSL 2(适用于Windows 10和Windows Server 2022)或LCOW(Linux Containers on Windows,仅限早期的Windows版本,并且支持有限)提供。

输入docker info --format '{{.OSType}}'
显示类型为windows,这意味着Docker正在运行Windows容器。

要在Windows Server上运行Linux容器,需要配置Docker以使用WSL 2后端(但只支持Windows Server 2022),或者在不支持WSL 2的旧版Windows Server中尝试启用LCOW功能(但LCOW对一些服务的支持可能并不理想)。

对于Windows Server 2019 Standard,由于它不支持WSL 2,所以不能直接在该系统上原生运行Linux容器。需要通过Hyper-V创建一个Linux虚拟机,在虚拟机内部署Docker并运行服务。

参考文档

微软官方文档
Docker on Windows Server 2019

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐