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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值