簡體   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