docker-compose部署MongoDB&MySQL&RabbitMQ集群

在三个节点:172.29.154.8、172.29.154.9、172.29.154.10部署MongoDB 1主2从副本集、RabbitMQ主-主、MySQL主-从复制。这些节点是在同一个内网环境下的,节点间互通,各节点部署的服务器关系如下表,其中,MySQL的主节点是172.29.154.9,与其他的服务反过来了,目的是减轻单节点的压力

本文采用docker-compose同时启动多台服务,如果只需要部署某一个服务,在后文中docker-compose.yml删除掉其他服务,然后仅参考关于该服务的相关配置即可。

节点 MongoDB RabbitMQ MySQL
172.29.154.8
172.29.154.9
172.29.154.10 / /

镜像下载

本文各服务均采用docker库的最新版本,下载镜像时分别使用如下命令:

docker pull mongo
docker pull mysql
docker pull rabbitmq:management

编写docker-compose.yml文件

因为一次要部署的服务器较多,使用docker run也不便于保存,所以本文采用docker-compose的方式部署服务器。各节点的docker-compose.yml文件如下。

节点172.29.154.8

version: "3"
services:
  rabbitmq:
    image: "rabbitmq:management"
    restart: always
    hostname: rabbit1
    container_name: "rabbit1"
    ports:
      - "5672:5672"
      - "15672:15672"
      - "4369:4369"
      - "1883:1883"
      - "25672:25672"
    volumes:
      - /home/ubuntu/docker/db/rabbitmq/data:/var/lib/rabbitmq
    environment:
      RABBITMQ_DEFAULT_USER: guest
      RABBITMQ_DEFAULT_PASS: guest
      RABBITMQ_NODENAME: rabbit1
      RABBITMQ_ERLANG_COOKIE: mqerlangcookie
  mongodb:
    image: "mongo"
    restart: always
    container_name: "mongo1"
    ports:
      - "27017:27017"
    environment:
      - MONGO_INITDB_ROOT_USERNAME=ubuntu
      - MONGO_INITDB_ROOT_PASSWORD=ubuntu
    volumes:
      - /home/ubuntu/docker/db/keydata:/opt/keyfile
      - /home/ubuntu/docker/db/mongodb/data:/data/db
    command: mongod --replSet rs --keyFile /opt/keyfile/mongo.key --auth
  mysql:
    image: "mysql"
    restart: always
    container_name: "mysql2"
    network_mode: "host"
    ports:
      - "3306:3306"
    volumes:
      - /home/ubuntu/docker/db/mysql/conf:/etc/mysql/conf.d
      - /home/ubuntu/docker/db/mysql/data:/var/lib/mysql
    environment:
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值