如何在Azure上链接docker容器?

问题描述 投票:1回答:2

我想链接部署在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
2个回答
1
投票

我想你正在搜索像Azure上的docker compose这样的功能。如果要使用Azure容器实例,则应该查看Deploy a multi-container container group with YAMLAzure Template。它将帮助您在容器组中创建多容器,并且容器可以相互连接。

此外,您可以尝试使用Azure Kubernetes Service,也许它也可以帮助您。如果您需要更多帮助,请给我留言。


0
投票

您需要在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。

© www.soinside.com 2019 - 2024. All rights reserved.