首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Windows容器(用Docker创建)部署到Azure容器服务中

将Windows容器(用Docker创建)部署到Azure容器服务中
EN

Stack Overflow用户
提问于 2017-08-09 15:32:20
回答 1查看 981关注 0票数 0

我正在尝试完成一项关于如何在Azure域中/环境中正确地使用Windows容器的体系结构研究,在这个环境中,我必须将应用程序进行容器化,并将该容器部署到Azure容器服务中

以下是我所做的事情

  1. 我在Azure门户中创建了Azure容器服务帐户/域/虚拟机
  2. 此外,我还为Windows 2016创建了另一个虚拟机,容器中已经安装了Docker
  3. 在WindowsServer2016上,我确实创建了一个简单的.NET create应用程序,并使用Docker为该应用程序创建了一个映像
  4. 我确实将Web API应用程序的映像推入了Docker中心,并使用SSH隧道接口尝试将映像下载到Azure容器服务中,这样就可以从该服务运行该映像

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

是否有方法将Windows Docker容器部署到Azure容器服务a中。我应该在Windows中创建Azure容器服务吗?我应该使用另一个命令器(而不是Docker)将Windows容器部署到Azure容器服务中吗?我该走另一条路吗?

非常感谢您的支持!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 05:38:43

Windows容器无法在Linux上运行,因为Azure容器服务在默认情况下是Linux系统。

正如我们所知,关于Linux和windows的容器是不同的,所以我们不能在Linux系统上运行windows容器。

作为解决办法,我们可以使用windows代理创建Azure容器服务(选择kubernetes),因此我们可以将windows容器部署到kubernetes windows代理。

我们可以通过Azure门户来部署Azure容器服务,选择orchestrator到kubernetes,在代理配置时,我们应该选择操作系统到windows。这样,kubernetes的主人是Linux,代理是windows。

我们可以使用kubectl和docker文件来创建windows容器。例如,我们可以在windows代理上部署IIS容器。Kubernetes是一个用于管理容器的工具,因此我们可以使用k8s将IIS部署到windows节点。

创建iis.json文件,如下所示:

代码语言:javascript
运行
复制
{
 "apiVersion": "v1",
 "kind": "Pod",
 "metadata": {
   "name": "iis",
   "labels": {
     "name": "iis"
   }
 },
 "spec": {
   "containers": [
     {
       "name": "iis",
       "image": "nanoserver/iis",
       "ports": [
         {
         "containerPort": 80
         }
       ]
     }
   ],
   "nodeSelector": {
    "beta.kubernetes.io/os": "windows"
    }
  }
}

2.使用kubctl apply命令创建荚,如下所示:

代码语言:javascript
运行
复制
kubectl apply -f iis.json

有关如何使用k8s部署windows容器的详细信息,请参阅此链接

如果要使用容器映像,可以将图像上载到Azure集装箱登记处,然后从注册表中提取图像。

如何设置的秘密为Azure容器注册表和拉图,请参阅此回答

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45594965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档