添加外部网络会使MySQL数据库无法访问

时间:2019-02-12 10:35:22

标签: docker docker-compose

我在使用docker-compose文件时遇到了一些问题,并且无法弄清原因。 这是文件:

version: '3'

services:
    db:
        image: mysql:8.0.0
        environment:
          MYSQL_ROOT_PASSWORD: ******
          MYSQL_DATABASE: ******
        volumes:
           - /opt/mysql_auth:/var/lib/mysql
        restart: always
    auth:
        image: authdotnetcore
        build:
          context: .
          dockerfile: Auth/Dockerfile
        depends_on:
            - db
        restart: always
        networks:
            - web
networks:
  web:
    external: true

auth服务是一个ASP.NET Core应用程序,它使用db作为appsettings上的服务器连接到MySQL数据库。如果删除外部Web网络,则撰写文件可以正常工作,但是添加该文件时,我会得到:无法连接到任何指定的MySQL主机。

它应该工作,因为仍然创建了链接容器的组合默认网络。

1 个答案:

答案 0 :(得分:0)

根据docker-compose文档,请找到更多详细信息Here

数据库服务缺少网络部分:

version: '3'
services:
    db:
        image: 'mysql:8.0.0'
        environment:
            MYSQL_ROOT_PASSWORD: null
            MYSQL_DATABASE: null
        volumes:
            - '/opt/mysql_auth:/var/lib/mysql'
        restart: always
        networks:
            - web
    auth:
        image: authdotnetcore
        build:
            context: .
            dockerfile: Auth/Dockerfile
        depends_on:
            - db
        restart: always
        links:
            - db
        networks:
            - web

networks:
  web:
    external: true