Docker-compose方式构建Mongdb分片

本文Mongdb分片使用Docker-compose方式构建,不熟悉Docker-compose的请自行恶补。

一、准备工作

1.建立工作目录

Docker容器中的相关工作目录不好管理,我们将使用目录映射的方式,将相关工作目录映射到宿主机上,这样方便管理和维护,同时就算我们删除了Docker,相关的数据也不会丢失。
相关命令如下:
rm -rf /mongodb/*
mkdir -p /mongodb/components
mkdir -p /mongodb/data0{
   1,2,3}
进行防火墙的相关设置,主要是打开要使用的端口
firewall-cmd --zone=public --add-port=27019/tcp --permanent
firewall-cmd --zone=public --add-port=27118/tcp --permanent
firewall-cmd --zone=public --add-port=27218/tcp --permanent
firewall-cmd --zone=public --add-port=27318/tcp --permanent
firewall-cmd --zone=public --add-port=37017/tcp --permanent
firewall-cmd --reload

2.config和shard配置文件

这里为了操作方便,我们把这两个配置写到一个文件里,这里一共使用3个shard,由于我一般使用的服务器都是高配置大内存的,如果你的机器配置比较小,请修改相应的内存分配。
version: '3'
networks:
  mongo-network:
    external: false
services:
  # 配置服务器configsvr
  config:
    image: mongo:latest
    networks:
      - mongo-network
    container_name: config
    restart: always
    ports:
      - 27019:27019
    command: --configsvr --replSet "config" --bind_ip_all --wiredTigerCacheSizeGB 2
    volumes:
      - /mongodb/components/config_mongodb/data/db:/data/db
      - /mongodb/components/config_mongodb/data/logs:/data/logs
      - /mongodb/components/config_mongodb/data/conf:/etc/mongo
      - /mongodb/components/config_mongodb/data/configdb:/data/configdb
    environment:
      - TZ=Asia/Shanghai
      # cache
      #- wiredTigerCacheSizeGB=1

  # shard分片1
  shard1:
    image: mongo:latest
    networks:
      - mongo-network
    container_name: shard1
    restart: always
    ports:
      - 27118:27018
    command: --shardsvr --replSet "shard1" --bind_ip_all --wiredTigerCacheSizeGB 2
    volumes:
      - /mongodb/data01/mongo/shard1/db:/data/db
      - /mongodb/data01/mongo/shard1/configdb:/data/configdb
    environment:
      - TZ=Asia/Shanghai
      # cache
      #- wiredTigerCacheSizeGB=1

  # shard分片2
  shard2:
    image: mongo:latest
    networks:
      - mongo-network
    container_name: shard2
    restart: always
    ports:
      - 27218:27018
    command: --shardsvr --replSet "shard2" --bind_ip_all --wiredTigerCacheSizeGB 2
    volumes:
      - /mongodb/data02/mongo/shard2/db:/data/db
      - /mongodb/data02/mongo/shard2/configdb:/data/configdb
    environment:
      - TZ=Asia/Shanghai
      # cache
      #- wiredTigerCacheSizeGB=1
  #      - ${PWD}/key.file:/data/mongodb/key.file

  # shard分片3
  shard3:
    image: mongo:latest
    networks:
      - mongo-network
    container_name: shard3
    restart: always
    ports:
      - 27318:27018
    command: --shardsvr --replSet "shard3" 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值