如何在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 YAMLAzure 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容器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Matlab 极轴上链接数据图像?

如何在 Azure 管道中运行 docker 容器?

如何在 Windows 上链接和编译 Raylib?

如何使用 TeamCity 在 Azure Service Fabric 中自动部署 Docker 容器?

如何使用 Azure Pipeline 将 Docker 映像“推送”到 Azure 容器注册表?

在IDEA上链接数据库