在Docker Compose中运行MongoDB副本集的步骤如下:
version: '3'
services:
mongo1:
image: mongo
restart: always
ports:
- 27017:27017
volumes:
- mongo1-data:/data/db
command: mongod --replSet rs0 --bind_ip_all
mongo2:
image: mongo
restart: always
ports:
- 27018:27017
volumes:
- mongo2-data:/data/db
command: mongod --replSet rs0 --bind_ip_all
mongo3:
image: mongo
restart: always
ports:
- 27019:27017
volumes:
- mongo3-data:/data/db
command: mongod --replSet rs0 --bind_ip_all
volumes:
mongo1-data:
mongo2-data:
mongo3-data:
docker-compose up -d
docker exec -it <mongo1_container_id> mongo
rs.initiate({_id: "rs0", members: [
{_id: 0, host: "mongo1:27017"},
{_id: 1, host: "mongo2:27017"},
{_id: 2, host: "mongo3:27017"}
]})
其中,<mongo1_container_id>是mongo1容器的ID,可以通过docker ps
命令查看。
MongoDB副本集的优势是提供了高可用性和数据冗余。它适用于需要持久化存储和数据备份的应用场景,如Web应用程序、分布式系统等。
腾讯云提供了云原生数据库TencentDB for MongoDB,它是基于MongoDB构建的托管数据库服务。你可以通过以下链接了解更多信息:
领取专属 10元无门槛券
手把手带您无忧上云