在Windows Server 2019 Standard上部署docker

首先上结论:不支持,换种方式折腾吧。
以下是实践过程及想在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

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值