当前位置: 首页 > 知识库问答 >
问题:

Windows的Docker和Windows上的Docker有什么区别?

江德海
2023-03-14

Windows上的Docker似乎是Windows Server2016内置的功能?并支持在Docker容器内运行Windows以及使用Windows作为Docker容器宿主。这支持Linux吗?我不这么认为,我认为它只支持运行Windows Docker容器。这似乎也是微软维护的。

Docker for Windows似乎是Docker团队为将Linux Docker引入Windows而创建的一个单独安装。所以Windows可以作为Docker宿主,但所有容器仍然只是普通的Linux容器。这是否支持Windows容器?我不这么认为,我认为它只支持运行Linux Docker容器。这似乎也是由Docker维护的。

我真正想要的是两者之间的差异,某种好的比较。每个人都想要达到什么特征,它们在哪里相似,在哪里不同。他们会永远不同还是会走到一起?

共有1个答案

丁高峯
2023-03-14

Windows上的Docker是指运行在Windows上的Docker引擎的口语化方式。我发现将其视为Windows容器主机是有帮助的,所以是的,仅限于Windows容器。这将是您将在Windows Server2016计算机上运行的内容。所以也许更好的名字是Docker for Windows Server,我相信人们也用过它。我还是更喜欢Windows容器主机。这意味着它最终只有Docker引擎,甚至不需要任何Docker客户端(Docker CLI,docker-compose,等等)。

Docker Desktop for Windows是一个用于在Windows上同时运行Linux和Windows容器的产品。它不是用于生产环境,而是用于Windows的桌面/客户端SKU,因此是Windows 10的要求。所以您可以将其视为Windows10的Docker。由于DfW可以运行两种容器类型,因此它在计算机上设置了不同的配置:

  • 当使用Linux容器时,DfW创建一个MobyLinuxVM,其中包含Hyper-V,它在其中透明地运行Linux容器,就像它们在Windows 10主机上运行一样。
  • 使用Windows容器时,DfW在Windows上安装与Docker相同的组件,这样您就有了Windows容器主机。您现在已经安装了Windows Docker引擎。这样就可以在Win10客户端SKU上运行windows容器。

理论上,您可以在Windows服务器上安装DfW,我没有尝试过,所以我不知道这是否会失败,但为什么您要在生产中的Windows主机上运行Linux容器呢?在生产中,您将拥有运行Linux容器的Linux容器主机和运行Windows容器的Windows容器主机,这将避免开销并简化事情。

 类似资料:
  • 问题内容: Windows Server 2016 似乎内置了 Windows 上的Docker?并支持在Docker容器中运行Windows并将Windows用作Docker容器主机。这是否支持Linux?我不这么认为,我认为它仅支持运行Windows Docker容器。这似乎也由Microsoft维护。 用于Windows的Docker似乎是由Docker团队创建的单独安装,用于将Linux

  • 问题内容: 并且似乎正在与同一个dockerFile进行交互,这两个工具之间有什么区别? 问题答案: 在一个码头工人的发动机管理单个容器时,CLI使用。这是访问docker daemon api的客户端命令行。 该CLI可以用于管理多容器应用程序。它还会将您在cli 上输入的许多选项移到文件中,以方便重用。它在与所使用的同一docker api上充当前端“脚本” ,因此您可以使用命令和许多shel

  • 问题内容: 最近,我读了一些新闻报道,指出微软正在与Docker合作使Docker在Windows Server上本地运行。 我想问的是,这将允许Windows应用程序在docker容器中运行,还是这是一种运行已经可用的docker映像库(在其中运行linux派生的特定子集)的一种方法Windows不使用VM? 问题答案: 这是关于在Windows主机中运行Windows容器。 Linux的容器仍

  • 背景: 我已经安装了流浪者和虚拟盒子。我不能改变这个设置,因为它非常微妙和重要。 现在当我在windows 10上安装docker时,docker想启用hyper-v,但现在我无法将我的虚拟机升级为流浪者。 问题: 由于docker on mac使用虚拟盒子驱动程序,有没有解决方案让docker在windows上使用虚拟盒子?

  • 问题内容: 我正在用一个基本的.NET核心项目测试Docker。我从此docker文件构建图像: 我运行它,它运行完美。现在唯一的问题是,它在什么IP上运行? 我正在Windows上运行Docker! 问候 问题答案: 您已经在内部公开了端口,因此我唯一建议的另一件事就是在启动映像时也检查您是否正在打开端口: 这会将实例内部的端口5000打开到本地计算机上的端口5000,然后应在或上进行访问。 你

  • 问题内容: 有人可以帮助我了解 docker run 和 docker container run 之间的区别吗? 当我执行 docker run –help 和 docker container 从docker cmd行 运行–help时 。我看到以下 在新容器中运行命令 。 他们在内部运行容器的方式有什么不同,还是两者都在做相同的工作? 根据https://forums.docker.com/