【MongoDB+docker】docker 配置 mongodb 复制集
来源:互联网 发布:微信java通用版1.0精简 编辑:程序博客网 时间:2024/05/17 06:28
dockerfile:
docker-compose.yml:
r0.conf与r1.conf暂时一样:
runPrime.sh:
运行过程:
之后登录即可验证:
提示符带有了primary,说明配置成功。
才能读。
#base imagesFROM ubuntu:latestMAINTAINER yao.3.li@uconn.edu#install mongodbRUN apt-get updateRUN apt-get -y install curlRUN curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgzRUN tar -zxvf mongodb-linux-x86_64-3.0.6.tgzRUN mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodbRUN export PATH=/usr/local/mongodb/bin:$PATHADD ./run.sh /run.shRUN chmod 777 /run.sh#database directoryRUN mkdir -p /data/dbRUN mkdir -p /data/logRUN touch /data/log/r.logRUN mkdir -p /data/config#portEXPOSE 27017ENTRYPOINT ["/run.sh"]
docker-compose.yml:
version: '3.2'services: primary: image: mongodb ports: - "27017:27017" environment: - role=prime volumes: - ./config/r0.conf:/data/config/c.conf - ./runPrime.sh:/runPrime.sh secondary1: image: mongodb ports: - "27018:27017" environment: - role=secondary volumes: - ./config/r1.conf:/data/config/c.conf secondary2: image: mongodb ports: - "27019:27017" environment: - role=secondary volumes: - ./config/r1.conf:/data/config/c.conf
r0.conf与r1.conf暂时一样:
#数据文件夹dbpath=/data/db#日志文件夹,如果以后台方式运行,必须指定logpathlogpath=/data/log/r.log#以追加而非覆盖方式写入日志logappend=true#端口port=27017#以后台方式运行 #fork=truerun.sh:
#!/bin/bash/usr/local/mongodb/bin/mongod -f /data/config/c.conf --replSet "rs0"
runPrime.sh:
#!/bin/bashmongo localhost:27017/admin conf.jsconf.js:
config={_id:"rs0", members:[{_id:0,host:"primary",priority:1}, {_id:1,host:"secondary1",priority:0}, {_id:2,host:"secondary2",priority:0}]}rs.initiate(config)rs.conf()rs.add("secondary1")rs.add("secondary2")
运行过程:
先构建镜像:
docker build -t mongodb .启动容器:
docker-compose up -d登录主库,使用脚本配置,也即运行runPrime.sh来配置复制集:
./runPrime.sh
之后登录即可验证:
mongo --port 27017
提示符带有了primary,说明配置成功。
当然可以进一步在主库写,从库读,但是需要在从库中使用:
db.setSlaveOk()
才能读。
阅读全文
0 0
- 【MongoDB+docker】docker 配置 mongodb 复制集
- docker配置mongodb副本集
- MongoDB配置--docker进阶
- Docker Centos7 安装MongoDB
- Docker 中使用 MongoDB
- 新接触-MongoDB、Docker
- 网络杂谈, Docker, MongoDB
- docker 安装mongodb
- Docker 安装 MongoDB
- docker部署nodejs,mongodb
- Docker实战(七):Docker安装MongoDB
- Docker实战(七):Docker安装MongoDB
- MongoDB 复制集配置
- 配置mongodb 3.2 复制集
- 配置mongodb 复制集3.2
- Docker使用supervisor启动MongoDB
- mongoDB实践-docker实践-01
- Docker mongoDB 单机安装办法
- 关于浮点数的小数部分的二进制表示、精度以及浮点数如何在内存中存放问题
- 如何使用TestFlight进行App构建版本测试
- 日历游戏
- 构造函数的强制调用
- Atitit r2017 r5 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0-D3C8 D:\ati\r2017 v4 r
- 【MongoDB+docker】docker 配置 mongodb 复制集
- dwz框架常用记录
- 基于SnapDragonBoard410c的远程防盗系统 (二)
- MySQL 主从复制详解(详细)
- 关于性能优化问题的探究
- LeetCode 46. Permutations
- [JAVA]单元测试:从零开始的JUnit之路(Elicpse/IDEA)
- 深度学习框架Keras学习系列(一):线性代数基础与numpy使用(Linear Algebra Basis and Numpy)
- 三级缓存