繁体   English   中英

Docker,同一网络上的多个MySQL容器-间歇性连接问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM