如何在Azure上链接docker容器?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Azure上链接docker容器?相关的知识,希望对你有一定的参考价值。
我想链接部署在Azure(ACS)上的两个Docker容器。我有一个运行在NodeJs中制作的api服务器的容器和另一个运行Mongo的容器。我想在我的电脑上使用像“--link mymongodb”这样的东西,但是在az容器创建中没有这样的参数。要创建容器,我使用以下语法:
az container create --name my-app --image myprivateregistry/my-app --resource-group MyResourceGroup --ports 80 --ip-address public
可能我需要创建一个虚拟网络?你能指点我正确的方向吗?
我想你正在搜索像Azure上的docker compose这样的功能。如果要使用Azure容器实例,则应该查看Deploy a multi-container container group with YAML或Azure Template。它将帮助您在容器组中创建多容器,并且容器可以相互连接。
此外,您可以尝试使用Azure Kubernetes Service,也许它也可以帮助您。如果您需要更多帮助,请给我留言。
您需要在Azure yml文件中指定两个图像(您的应用程序和mongo)。它看起来像一个docker compose yml文件,但事实并非如此。
假设您的node.js应用程序在端口3000上运行,这可能是Azure容器服务的yml配置:
apiVersion: 2018-06-01
location: westeurope
name: my-app-with-mongo
properties:
containers:
- name: mongodb
properties:
image: mongo
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 27017
- name: my-app
properties:
image: myprivateregistry/my-app
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 3000
osType: Linux
ipAddress:
type: Public
dnsNameLabel: my-app
ports:
- protocol: tcp
port: '3000'
imageRegistryCredentials:
- server: myprivateregistry.azurecr.io
username: username-for-myprivateregistry
password: password-for-myprivateregistry
tags: null
type: Microsoft.ContainerInstance/containerGroups
只需启动它
az container create --resource-group MyResourceGroup --file azure-container-group.yml
然后,您可以在localhost:27017上访问您的mongo数据库,因为所有容器都在同一主机上运行:
Azure容器实例支持使用容器组将多个容器部署到单个主机上。
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-multi-container-yaml
还要记住在yml文件中指定的容器的顺序。您将首先启动mongo,然后启动node.js应用程序,因为它可能希望在启动时连接到mongo。
以上是关于如何在Azure上链接docker容器?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 TeamCity 在 Azure Service Fabric 中自动部署 Docker 容器?