使用Linus OS将Windows容器(使用Docker构建)推送到Azure容器服务(ACS)中

使用Linus OS将Windows容器(使用Docker构建)推送到Azure容器服务(ACS)中,azure,docker,Azure,Docker,我必须将Dot Net核心Web API应用程序容器化,并将该容器部署到Azure容器服务中 以下是我所做的事情 我确实在Azure门户中创建了Azure容器服务帐户/域/虚拟机 此外,我还为Windows Server 2016创建了另一个虚拟机,其中包含已安装Docker的容器 在Windows server 2016上,我确实创建了一个简单的.NET核心Web API应用程序,并使用Docker为该应用程序创建了一个映像 我确实将Web API应用程序的映像推送到Docker hub中,并

我必须将Dot Net核心Web API应用程序容器化,并将该容器部署到Azure容器服务中

以下是我所做的事情

  • 我确实在Azure门户中创建了Azure容器服务帐户/域/虚拟机

  • 此外,我还为Windows Server 2016创建了另一个虚拟机,其中包含已安装Docker的容器

  • 在Windows server 2016上,我确实创建了一个简单的.NET核心Web API应用程序,并使用Docker为该应用程序创建了一个映像

  • 我确实将Web API应用程序的映像推送到Docker hub中,并使用SSH隧道接口尝试将映像下载到Azure容器服务中,以便可以从该服务运行它

  • 但是,我会得到一条消息,Windows容器不能在Linux上运行,因为Azure容器服务默认为Linux系统

    有没有办法将Windows Docker容器部署到Azure容器服务中 A.我应该在Windows中创建Azure容器服务吗? B我应该使用另一个orchestrator(而不是Docker)将Windows容器部署到Azure容器服务中吗? C我应该走另一条路吗

    非常感谢您的支持

  • 您需要使用windows节点创建ACS(kubernetes可以做到这一点)
  • Docker不是编曲者。Docker是运行容器的引擎。不,另一个引擎在这里帮不上忙,您需要支持windows容器的主机
  • 如果你真的想要docker,就别无选择。将ACS与windows节点一起使用,或使用独立\群集2016数据中心节点(您必须自己管理它们)
  • 我曾经与kubernetes合作过一段时间,我相信它比您自己管理ws w016 Box要好(Azure提供了一种在几分钟内创建一个工作的kubernetes集群的方法)。Kubernetes可以做一些有趣的事情,比如滚动升级,它与Azure集成,所以当你创建一个端点时,它会自动为你创建一个公共IP地址等等

    缺点是复杂性。如果您想让kubernetes成为您的生产环境,您最好准备修复它:)

  • 您需要使用windows节点创建ACS(kubernetes可以做到这一点)
  • Docker不是编曲者。Docker是运行容器的引擎。不,另一个引擎在这里帮不上忙,您需要支持windows容器的主机
  • 如果你真的想要docker,就别无选择。将ACS与windows节点一起使用,或使用独立\群集2016数据中心节点(您必须自己管理它们)
  • 我曾经与kubernetes合作过一段时间,我相信它比您自己管理ws w016 Box要好(Azure提供了一种在几分钟内创建一个工作的kubernetes集群的方法)。Kubernetes可以做一些有趣的事情,比如滚动升级,它与Azure集成,所以当你创建一个端点时,它会自动为你创建一个公共IP地址等等


    缺点是复杂性。如果您想让kubernetes成为您的生产环境,您最好准备修复它:)

    非常感谢您的建议!由于Windows服务器上已经运行了容器,您能否建议我们使用第一种或第三种更好的方法?非常感谢您的帮助。我确实在Azure bash shell中创建了一个Kubernetes集群,并且能够运行kubectl命令。据我所知,在这个环境中,我应该能够运行容器。但是,每当我尝试从docker hub中提取am映像时,“都无法连接到docker守护进程”unix:///var/run/docker.sock. docker守护进程正在运行吗?”。我找不到任何关于如何启动docker守护进程以便运行容器的信息。我是否在正确的路径上,或者我是否应该在docker Windows容器的Kubernetes上完全不使用docker命令?请尝试在Kubernetes\azure quickstart guide中使用以下命令。在k8s集群上,您应该使用kubectl来管理一切。我不记得确切的命令,但是类似于
    kubectl run my nginx--image=nginx
    非常感谢您的帮助。我确实按照这里的说明创建了一个用于Windows的Kubernetes群集,可以在其中部署容器。然而,在我为我的经理运行了一个演示之后,我现在需要进行额外的研究,因为我的经理首先有一些问题。他很好奇为什么docker容器不能在Windows上运行(我在创建容器时使用docker命令),毕竟docker容器应该是独立于平台的,并且可以在任何环境下运行,在Windows和Linux上都是如此。此外,我理解在运行docker构建时,Windows和Linux之间应该有一个切换;但是,在带有容器的Windows Server 2016上,没有docker开关。唯一可用的命令行是,可以在命令行上在Linux和Windows模式之间切换,而且,以防万一,我不是在使用Windows容器,而是在尝试使用Docker容器。具有.Net核心应用程序(也是跨平台的)的Docker容器不能在Linux上运行,这是真的吗?非常感谢您的建议!由于Windows服务器上已经运行了容器,您能否建议我们使用第一种或第三种更好的方法?非常感谢您的帮助。我确实在Azure bash shell中创建了一个Kubernetes集群,并且能够运行kubectl命令。据我所知,在这个环境中,我应该能够运行容器。但是,每当我尝试从docker hub中提取am映像时,“都无法连接到docker守护进程”unix:///var/run/docker.sock. docker守护进程正在运行吗?”。我找不到任何关于如何启动docker守护进程以便运行容器的信息。我走的是正确的道路,还是不应该选择我们