我正在尝试完成一项关于如何在Azure域中/环境中正确地使用Windows容器的体系结构研究,在这个环境中,我必须将应用程序进行容器化,并将该容器部署到Azure容器服务中
以下是我所做的事情
但是,我会收到这样一条消息: Windows容器不能在Linux上运行,因为Azure容器服务默认是Linux系统
是否有方法将Windows Docker容器部署到Azure容器服务a中。我应该在Windows中创建Azure容器服务吗?我应该使用另一个命令器(而不是Docker)将Windows容器部署到Azure容器服务中吗?我该走另一条路吗?
非常感谢您的支持!
发布于 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
文件,如下所示:
{
"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命令创建荚,如下所示:
kubectl apply -f iis.json
有关如何使用k8s部署windows容器的详细信息,请参阅此链接。
如果要使用容器映像,可以将图像上载到Azure集装箱登记处,然后从注册表中提取图像。
如何设置的秘密为Azure容器注册表和拉图,请参阅此回答。
https://stackoverflow.com/questions/45594965
复制相似问题