问题描述
我尝试在Mac中使用mongoldb-community在本地运行mongodbplicateSet,我遵循我可以通过此命令运行
I have tried to run mongodb replicaSet in local with mongoldb-community in my Mac I follow mongodb doc I can run it by this command
mongod --port 27017 --dbpath /usr/local/var/mongodb --replSet rs0 --bind_ip localhost,127.0.0.1
但是它不能在后台运行,因此每次我想启动副本集mongodb时,我都应该运行该命令,然后再运行它我应该先停止mongo
,然后在下一个选项卡控制台上,我应该运行 mongo --eval rs.initiate()
再次创建到plicateSet
but it doesn't run on background, so every time I want to start replica set mongodb I should run that command, before I run it I should stop mongo
first, then on the next tab console I should run mongo --eval "rs.initiate()"
to create to replicaSet again
这是我的docker组成:
here is my docker compose:
version: "3.7"
services:
mongodb_container:
image: mongo:latest
ports:
- 27017:27017
volumes:
- mongodb_data_container:/data/db
volumes:
mongodb_data_container:
如何将其转换为docker-compose吗?可能吗 ?
how to convert that into docker-compose ? is it possible ?
我可以做 docker exec CONTAINER_ID [commands]
吗?运行上面的命令mongo,但必须停止在该docker中运行mongodb吗?
can I do docker exec CONTAINER_ID [commands]
? to run command mongo like above , but must stop the mongodb run in that docker ?
推荐答案
您可以拥有mongodb副本集使用以下docker-compose服务:
You can have a mongodb replica-set with this docker-compose services:
mongodb-primary:
image: "bitnami/mongodb:4.2"
user: root
volumes:
- ./mongodb-persistence/bitnami:/bitnami
networks:
- parse_network
environment:
- MONGODB_REPLICA_SET_MODE=primary
- MONGODB_REPLICA_SET_KEY=123456789
- MONGODB_ROOT_USERNAME=admin-123
- MONGODB_ROOT_PASSWORD=password-123
- MONGODB_USERNAME=admin-123
- MONGODB_PASSWORD=password-123
- MONGODB_DATABASE=my_database
ports:
- 27017:27017
mongodb-secondary:
image: "bitnami/mongodb:4.2"
depends_on:
- mongodb-primary
environment:
- MONGODB_REPLICA_SET_MODE=secondary
- MONGODB_REPLICA_SET_KEY=123456789
- MONGODB_PRIMARY_HOST=mongodb-primary
- MONGODB_PRIMARY_PORT_NUMBER=27017
- MONGODB_PRIMARY_ROOT_USERNAME=admin-123
- MONGODB_PRIMARY_ROOT_PASSWORD=password-123
networks:
- parse_network
ports:
- 27027:27017
mongodb-arbiter:
image: "bitnami/mongodb:4.2"
depends_on:
- mongodb-primary
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb-arbiter
- MONGODB_REPLICA_SET_MODE=arbiter
- MONGODB_PRIMARY_HOST=mongodb-primary
- MONGODB_PRIMARY_PORT_NUMBER=27017
- MONGODB_PRIMARY_ROOT_PASSWORD=password-123
- MONGODB_REPLICA_SET_KEY=123456789
networks:
- parse_network
ports:
- 27037:27017
networks:
parse_network:
driver: bridge
ipam:
driver: default
volumes:
mongodb_master_data:
driver: local
这篇关于如何在docker compose中运行mongodb副本集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!