在Windows Server 2019 Standard上部署docker
搞了很久,在网上查了很多资料,但都没有解决,总是在执行Install-Package -Name docker -ProviderName DockerMsftProvider -Force这一步的时候报错,说找不到DockerDefault_DockerSearchIndex.json这个文件。后来放弃了这种安装方法,重新来过,做一个记录。
首先上结论:不支持,换种方式折腾吧。
以下是实践过程及想在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并运行服务。
参考文档
更多推荐
所有评论(0)