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