快速开始
生成 keyfile
openssl rand -base64 756 > mongo-keyfile
chmod 600 mongo-keyfile
docker-compose
version: "3.9"
services:
mongo1:
image: mongo:7.0
ports:
- "27017:27017"
volumes:
- ./mongo1-data:/data/db
- ./mongo-keyfile:/etc/mongo-keyfile:ro
command: ["mongod","--replSet","rs0","--bind_ip_all", "--keyFile", "/etc/mongo-keyfile"]
# ... mongo2, mongo3 similar
连接URI
mongodb://admin:admin123@localhost:27017/?replicaSet=rs0&authSource=admin
常见报错
| 症状 | 根因 | 修复 |
|---|
| permissions on keyfile are too open | mongo-keyfile非600 | chmod 600 |
| Authentication failed | 密码/库错误 | 确认authSource |
| ReplicaSetNoPrimary | 还未选主 | 等待或检查priority |