我在使用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主机。
它应该工作,因为仍然创建了链接容器的组合默认网络。
答案 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