Windows docker容器与Linux docker容器

时间:2017-11-23 15:05:51

标签: linux azure docker azure-devops dockerfile

我是Docker / Kubernetes世界的新手。

由于我刚开始使用整个架构,因此我有以下内容:

  • Azure容器服务 - 使用Linux为主服务器和代理启动并运行
  • 我机器上的Windows Docker - 启动并运行
  • 使用Docker任务在VSTS上自动构建.NetCore应用程序,以构建并将映像推送到Azure容器注册表
  • Kubectl从主节点运行kubernetes UI

当使用Docker命令从我的机器构建.NetCore应用程序然后将其发布到注册表时,Kubernetes能够拉动并运行它,但是当图像由VSTS构建任务构建和推送时,kubernetes未能拉图像。在对错误进行了一些研究之后,结果发现来自VSTS构建的图像是针对窗口制作的,因此无法拉出。

适用于Windows和Linux的Docker Container之间的区别是什么?我们如何在构建映像时转换或指定类型。

1 个答案:

答案 0 :(得分:2)

  

适用于Windows和Linux的Docker容器有什么区别。

简而言之,Linux docker在Linux上运行并与 Linux内核一起运行,Windows docker在Windows Server 2016或Windows 10上运行,使用 windows hyper virtualization ,并请求windows dll和其他软件包。

所以我们无法在Linux docker上运行windows docker镜像。

  

我们如何在构建图像时转换或指定类型。

据我所知,我们无法将泊坞窗图片转换为其他类型。

我们可以使用VSTS构建.NET核心Linux Docker镜像,请参阅此blog

此外,我们可以使用不同的docker平台使用Docker file来构建docker镜像。

有关如何使用docker文件构建Windows docker镜像的更多信息,请参阅此blog 有关如何使用docker文件构建Linux docker镜像的更多信息,请参阅此article

创建泊坞窗图片后,我们可以从 Azure容器注册表跟踪此articlepushpull图片。