[英]Docker, multiple MySQL containers on same network - intermittent connection problems
对Docker来说还算是新手,但是我有2个项目-project-a和project-b,我想使用docker在本地进行开发,并使用nginx-proxy容器在它们之间进行路由。
到目前为止,我有:
1)在桥接模式下创建一个名为“ my-network”的新码头网络。 2)启动nginx-proxy容器,并将dnsmasq配置为将'.dev'域路由到各个容器(这一切正常)3)使用以下docker-compose.yml文件启动project-a
version: '3.2'
services:
web:
image: brettt89/silverstripe-web
working_dir: /var/www
restart: unless-stopped
volumes:
- .:/var/www/html
environment:
- VIRTUAL_HOST=project-a.dev
db:
image: mysql
volumes:
- db-data:/var/lib/mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
db-data:
networks:
default:
external:
name: my-network
所有这些都可以通过project-a.dev的Nginx代理路由请求传递到此容器。 MySQL查询按预期工作。
但是,一旦我使用相同的docker-compose文件启动project-b(将VIRTUAL_HOST env变量更改为project-b.dev除外),问题就开始了。 我可以成功导航到project-b.dev,但是在页面加载和刷新时出现间歇性的数据库连接错误-在project-a.dev上也开始出现相同的错误
有人知道我在做什么错吗?
当您使用相同的docker compose时,您有2个数据库容器,每个项目1个。 但是它们使用相同的音量。 我认为这可能是个问题。 尝试修改游览项目B的卷名(例如db-data-b)。
*编辑以获得最佳答案:*尽量不要使用桥接网络或检查容器,以避免IP冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.