生产中的Windows上的Docker

时间:2017-08-07 19:24:23

标签: docker

我被要求研究Docker。我无法得到明确回应的问题是"你可以在生产中在Windows上运行Docker吗?"。

我一直在看" Docker镜像容器可以在Linux和Windows上本机运行。但是,Windows映像可以运行 仅在Windows主机上,Linux映像只能在Linux主机上运行,​​这意味着主机服务器或VM。"

我对运行容器化的Windows应用程序(.net)不感兴趣。我们有Spring Boot(java)应用程序&正在创建一个微服务架构。这些容器化的应用程序。不需要在同一个容器中运行的操作系统。

我们还需要像Kubernetes这样的编排引擎,并且不清楚这是否可以在Windows上生成。

我一直在努力争取将部署环境切换到Linux,但这是一场失败的战斗。

4 个答案:

答案 0 :(得分:6)

引用docs

  

欢迎使用Docker for Windows!

     

Docker是一个用于创建容器化应用程序的完整开发平台,   和Docker for Windows是开始使用Docker的最佳方式   Windows系统。

从字面上理解。供应商将其视为在Windows上开发Docker环境而不是生产环境的开发工具。要在生产中运行它们,他们期望一个Linux主机。

答案 1 :(得分:1)

首先,我怀疑这个问题在3年后会过时。我不知道您是否仍在努力解决问题,我很想听听您的经验和您选择的路线。

这可能是一个有偏见的答案,但是我将尝试以我的经验来回答。和您一样,我们也没有说服客户使用Linux服务器的打架。我们有2种金属和一小部分运行Windows Server 2019的虚拟机-服务器版本1809(不是最先进的,而是最新的稳定版本),这确实是对WS2016的改进。但是它仍然有一些问题。主要问题是码头工人群。带有路由网格的覆盖网络无法正常工作。因此,我们不得不依靠docker-compose和手动服务发现来回退容器,这超出了docker的目的。

话说回来,Swarm网络的问题可能是由于我们正在使用虚拟机和Hyper-v交换机。最重要的是,我们无法直接访问主机网络,并且每当我们需要更改网络时就不得不跳过一些官僚作风,当我们要测试东西时,它们变得非常老旧。此外,由于对网络缺乏信心,我们没有Active Directory。我仍然不确定DC是否会在虚拟环境中与docker一起玩。由于我们没有很多机器,因此仍然没有AD是可以管理的。

另一个问题是,由于CPU问题,我们没有嵌套的虚拟化(即无法运行Moby),WS19 LTSC版本上没有支持Docker的WSL2。因此,我不得不为我们使用的许多东西编写自己的图像。像詹金斯(Jenkins),雷迪斯(Redis)等。You can find the dockerfiles here if interested但显然,使它们保持最新和整洁是一项艰巨的工作,我没有太多时间进行投资。

在性能方面,我们似乎没有问题,但我们并未真正进行比较分析。

总而言之,我爱Docker,这是一个了不起的产品。但是在完成这个项目之后,我想在10英尺长的生产环境中不要触摸Windows上的Docker。实际上,我不知道将来是否会使用Windows计算机作为生产环境。不过,在开发中还是很酷的。

答案 2 :(得分:0)

签出this blog,并引用“ Windows Server 2016是应将Docker Windows容器部署用于生产的位置。”

答案 3 :(得分:0)

尚不清楚OP是否在询问“我可以在生产中的Windows上运行Docker”(例如从许可角度来看)还是“我应该运行它”(例如从经验角度来看)。我有一个应该回答的问题解决这两点。

首先值得注意的是,在我撰写本文时,到目前为止,所有答案和评论都来自2018年(或类似问题的2017年)。

在Docker上至少有一篇关于该主题的2019年帖子(包括列出正在生产中运行的客户端,因此可以解决这两个问题)

https://www.docker.com/blog/5-reasons-to-containerize-production-windows-apps-on-docker-enterprise/

尽管标题是指Docker Enterprise,但该文章确实指出“数百家企业现在在生产中运行Windows容器节点”,而没有该企业警告。

即使如此,可能“不想为运行Docker Enterprise付费的人”也应该注意Windows 2016 and 2019 include a license of Docker Enterprise, free。 (至于最近Enterprise product was sold to Mirantis的Docker剧变,目前尚无迹象表明它将改变Windows随附的Windows许可。)

不过,我仍然意识到OP和其他读者可能会寻求更多(已证明文件)在Windows上部署生产Docker的证据。我将其留给其他人详细说明。只是不认为这应该比2018年7月更早出现在这里。