Azure中的Docker compose-DNS不工作

Azure中的Docker compose-DNS不工作,azure,docker,azure-web-app-for-containers,Azure,Docker,Azure Web App For Containers,我正试图在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=*****

我正试图在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容器


有什么建议吗?

在Azure Web App中运行多个容器时,只有一个容器可以对外公开,端口只能是80或443中的一个。在Web应用程序内部,容器可以通过容器名称及其公开的端口与每个容器通信。对于您的,您可以使用web容器中的DB:port访问DB容器,我建议您先导出DB需要使用的端口。

在Azure web App中运行多个容器时,只有一个容器可以对外公开,端口只能是80或443中的一个。在Web应用程序内部,容器可以通过容器名称及其公开的端口与每个容器通信。对于您的,您可以使用web容器中的DB:port访问DB容器,我建议您先导出DB需要使用的端口。

Hi,我不是使用Azure web App,而是使用常规容器设置。每当我尝试建立数据库连接时,都会出现以下错误:error 2005 HY000:Unknown MySQL server host'db'2,这表明它找不到数据库。手动尝试解析主机名也失败。@StevenGoossens您使用什么服务?您应该为数据库连接设置环境变量。您好,我知道,我刚从最初的帖子中编辑了它们。我现在已经编辑了它,但问题仍然是,当我使用“db”作为主机名时,我无法连接到数据库服务器。如果我使用随机生成的容器主机名,连接就可以工作。当我在安装了docker的普通计算机上部署相同的docker compose文件时,它是有效的,因此我仍然认为问题与Azure翻译docker compose的方式有关。@StevenGoossens您可以查看Azure Web App中docker compose的示例。它设置数据库的依赖项和环境变量。也许depdens_对你来说是有意义的。嗨,我不是在用Azure Web应用程序,而是常规的容器设置。每当我尝试建立数据库连接时,都会出现以下错误:error 2005 HY000:Unknown MySQL server host'db'2,这表明它找不到数据库。手动尝试解析主机名也失败。@StevenGoossens您使用什么服务?您应该为数据库连接设置环境变量。您好,我知道,我刚从最初的帖子中编辑了它们。我现在已经编辑了它,但问题仍然是,当我使用“db”作为主机名时,我无法连接到数据库服务器。如果我使用随机生成的容器主机名,连接就可以工作。当我在安装了docker的普通计算机上部署相同的docker compose文件时,它是有效的,因此我仍然认为问题与Azure翻译docker compose的方式有关。@StevenGoossens您可以查看Azure Web App中docker compose的示例。它设置数据库的依赖项和环境变量。也许这个部门对你有意义。