繁体   English   中英

使用 docker compose 将多个容器部署到 azure

[英]Deploy several container to azure using docker compose

我创建了一个使用多个容器的服务,我的项目的基本结构是:

|--maindir:
   |--app1:
      |--dockerfile1
      |--proyect folder...
   |--app2:
      |--dockerfile2
      |--proyect folder...
   |--app3:
      |--dockerfile3
      |--proyect folder...

目前我正在做的部署每个容器是:

1)使用泊坞窗。 构建以创建映像 2) 标记映像并将其推送到 azure 注册表 3) 从 azure 注册表上的映像创建容器:

az container create \
    --resource-group mygroup \
    --name manager \
    --image core.azurecr.io/samples/manager \
    --registry-login-server xxx \
    --registry-password xxx   \
    --registry-username xxx \
    --ports  5000 5100 \
    --memory 3 \
    --cpu 1 \
    --ip-address public \
    --dns xxx \
    --azure-file-volume-account-name xxx \
    --azure-file-volume-account-key  xxx \
    --azure-file-volume-share-name xxx \
    --azure-file-volume-mount-path /xxx

对于每个容器,我都需要这些设置中的每一个,例如 DNS、卷、内存……。

是否可以使用 docker compose.yml 文件来做到这一点?

我在 Azure 文档的示例中发现了这一点:

https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-multi-container-app

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

但是那个假设图像已经在 azure 注册表中,而我的情况并非如此。 如果我必须一个一个地创建和推送图像,那么在最后使用 docker compose 并没有太大区别。

首先,当您使用 Azure CLI 命令az container create它意味着您创建了 Azure 容器实例,但是当您参考随链接提供的文档中的 docker-compose 文件时,它意味着 Azure Web App。 换句话说,有两种不同的 Azure 服务。

此外,无论何时使用 docker 镜像,无论是 ACR 还是 Docker 集线器,都需要自己创建镜像并找到将镜像推送到的注册中心。

如果您使用 docker-compose,它可以帮助您一次构建所有图像。 您只需要创建 docker-compose 文件并使用值 Dockerfile 路径设置build选项。 您可以查看 docker-compose 示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM