2

我正在尝试在 Azure 中部署一个 docker-compose 文件,我的 compose 文件如下所示。

version: '3'
services:
  db:
    image: mysql:latest
    restart: unless-stopped
    volumes:
      - misp-mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=*****
      - MYSQL_USER=*****
      - MYSQL_PASSWORD=********
      - MYSQL_ROOT_PASSWORD=********
  web:
    image: *****
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - misp-web:/var/www/MISP
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=****
      - MYSQL_USER=*****
      - MYSQL_PASSWORD=************

当我将它部署到 Azure 时,两个容器都启动并运行,以及第三个容器“aci--dns--sidecar”,我假设它用于 DNS 解析。但是,在 Web 容器中,无法为我解析 DB 容器。

有什么建议吗?

4

1 回答 1

-1

在 Azure Web App 中运行多个容器时,只能对外暴露一个容器,端口只能是 80 或 443 之一。而在 Web App 内部,容器可以通过容器相互通信名称和它公开的端口。对于您的,您可以使用db:port来自 Web 容器的 访问 DB 容器,我建议您先导出 DB 需要使用的端口。

于 2020-11-10T07:49:22.863 回答