gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:50:49 25 4
gpt4 key购买 nike

对 docker 相当陌生,但我有 2 个项目 - project-a 和 project-b,我想使用 docker 在本地开发它们,并使用 nginx-proxy 容器在它们之间进行路由。

到目前为止我有:

1) 在桥接模式下创建一个名为“my-network”的新 docker 网络。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

这一切都按预期工作,nginx-proxy 将对 project-a.dev 的请求路由到此容器。 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冲突。

关于mysql - Docker,同一网络上的多个 MySQL 容器 - 间歇性连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47352451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com