在Windows Server 2016上运行的Linux Docker EE容器。

12
有没有关于如何在Windows Server 2016中使用Docker EE的Linux容器的最新指南?我找到的所有指南(例如此指南)都使用预览版,而预览版已经过时了两个主要发布版本和2年时间。
我面临的另一个问题是必须手动下载和安装Docker,因为该服务器没有直接的互联网连接。容器映像将通过Artifactory下载。
2个回答

29

注意:WSL2

随着WSL 2的发布,请注意下面的部分(如果不是全部)很可能已经过时。

原始帖子:


更新:

我之前忘记提到,在安装之前,您需要安装Hyper-V Role。如果您的服务器是虚拟机,请确保已启用嵌套虚拟化。

原始回答

我不知道有任何更新的指南,但是我从各种来源(底部列出的来源)中总结了以下内容,这些内容已经被确认可用于在Windows Server 2019上运行LCOW:

基本上,您需要安装一个正常的最新版Docker,启用实验功能并修复内核路径问题。

假设Docker尚未安装,并且从未安装过,在提升的PowerShell中运行以下命令即可完成安装:

PS C:\...> Install-Module DockerMsftProvider -Force

PS C:\...> Install-Package Docker -ProviderName DockerMsftProvider -Force

PS C:\...> Restart-Computer

PS C:\...> $configfile =@"
{
    "experimental":true
}
"@

PS C:\...> $configfile|Out-File -FilePath c:\ProgramData\docker\config\daemon.json -Encoding ascii -Force

PS C:\...> [Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

PS C:\...> Restart-Service Docker

接下来需要前往 https://github.com/linuxkit/lcow/releases 下载最新版本并将其解压到 C:\Program Files\Linux Containers 目录下。

如果需要,将文件 bootx64.efi 重命名为 kernel

注意

请查看最后一条来源,其中提到有些应用程序可能无法正常工作。出于这个特定原因,我仍在努力将其切换回在 Moby VM 中运行容器的旧方法。

来源:


有什么想法为什么我还会得到这个错误:E:\ docker> docker pull selenoid / vnc:firefox_57.0 firefox_57.0:从selenoid / vnc中拉取 图像操作系统“linux”无法在此平台上使用 - Andrew Sumner
@AndrewSumner 你用的是什么操作系统?请注意,我只在 Windows Server 2019 上进行了测试。 - beruic
@MikeCaron 你安装了Hyper-V角色吗? - beruic
@beruic 我已经做了。 :) - Mike Caron
2
目前最新版本的releases.zip文件包含“kernel”:https://github.com/linuxkit/lcow/releases/tag/v4.14.35-v0.3.9。顺便说一句,感谢您的帖子! - boggy
显示剩余5条评论

0

我曾经遇到过同样的问题,无论是预览版(提供者:DockerProvider)还是上面回答中提到的版本(提供者:DockerMsftProvider),都不能正常工作。

最终,清理这些 Docker 版本并简单地安装 Docker for Windows 就完美解决了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接