出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五晚6点10分 与您不见不散!
说在前面
目前,有大量的应用程序以 Docker 容器的形式运行在 Windows Server 2016 上,但 Windows 容器一直与 Linux 容器在性能方面存在着一些细小的差距。但是,在已经到来的 Windows Server 2019 中,它弥补了大部分的性能差距,因此现在的 Windows Docker 容器几乎与 Linux 容器旗鼓相当。
接下来,我将介绍它主要的新功能。演示中所有的 Docker 镜像都来自我在 GitHub 上的 dockerfiles-windows repo 中,您可以点击文尾处“阅读原文”查看详情。
&
Windows Server 2019 使用的是 1809 版本的操作系统,Windows 10 的更新正在进行中,它将把这个内核添加到 Windows 10 中。所以,您可以在 Windows Server 2019 或者 Windows 10 的1809版本或更高版本上使用这些镜像。
发布的端口可以在 localhost 上访问
Windows 容器可以让您以常用的方式来发布端口,因此当网络流量在特定端口上进入您的计算机时,Docker 会将其定向到要处理的容器。但是在 Windows Server 2016 上,您只能从外部访问端口,而不能在计算机上使用 localhost。
Windows 10 上的 Docker Desktop 已经解决了这一问题。所以,您可以在桌面上使用 localhost,但网络的相关问题是发生在 Docker Desktop 中而不是操作系统层(不能进行“loopback”操作)。
现在,在 Windows Server 2019 中,操作系统中的网络堆栈已经可以进行“loopback”操作了。所以,您可以这样做:
PS> docker container run -d -p 8041:80 sixeyed/nginx:windowsservercore-1809
103b486d29818e02bd0da8ab42d854c42179de3e116bf4bd38c1840adca9cde9