docker compose運行多個系統

一臺主機通過docker compose編排運行一個系統沒什麼問題,如果要運行多個相同的系統怎麼做呢?
以部署wordpress(LNMP)爲例,其實很簡單,只需要修改三處:

1、對外暴露端口

修改docker-compose.xml中對外暴露端口的ports:
nginx:
在這裏插入圖片描述
mysql:
在這裏插入圖片描述

2、容器name

修改docker-compose.xml中容器的name:
nginx、wordpress、mysql分別修改(添加)container_name爲唯一即可

3、數據庫涉及ip:port的配置

對於Wordpress,Mysql中有保存訪問wordpress網站的host配置(若沒有域名,是ip+port),需要將其手動改爲第一步配置的暴露出的nginx端口+ip。

4、若出現服務混淆錯亂

所謂服務混淆錯亂,如:一個docker-compose.yml部署的wordpress1,另一個docker-compose.yml部署的wordpress2。可能有時出現wordpress2調用了wordpress1的Mysql服務。
原因:可能是兩個docker-compose編排的Mysql內部端口一樣。以及共用了一個網絡。
解決:
1、wordpress2新建一個網絡

docker network create wordpress2

2、修改docker-compose.xml容器所用網絡爲:wordpress2
修改所用網絡:

networks:
    wordpress2:
        external: true

修改每個容器網絡:

 networks:
    wordpress2:
        aliases:
            - mysql
發佈了49 篇原創文章 · 獲贊 12 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章