mkdir /data/mongo/{data,log,config} -p
cd /data/mongo
cat > /data/mongo/config/mongod.conf << EOF
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongo.log
storage:
dbPath: /data/db
journal:
enabled: true
processManagement:
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017
security:
authorization: enabled
EOF
cat > /data/mongo/docker-compose.yml << EOF
version: "2.2"
services:
mongodb:
image: mongo:4.4.29
container_name: mongo27017
ports:
- 27017:27017
volumes:
- /data/mongo/data:/data/db
- /data/mongo/data:/var/log/mongodb
- /data/mongo/config/mongod.conf:/etc/mongo/mongod.conf
command: mongod --config /etc/mongo/mongod.conf
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin
EOF
mongo版本:
3.4.23
3.6.23
4.0.28
4.2.24
4.4.29
5.0.25
6.0.14
7.0.6
如果要搭建的是单机版的副本集,需要添加replication 参数并连接到数据库后,执行rs.initiate
cat >> /data/mongo/config/mongod.conf << EOF
replication:
replSetName: rs0
EOF
rs.initiate()
如果需要搭建的是单机版的副本集,直接启动即可
docker-compose up -d
docker ps -a
docker logs -f --tail 100 mongo27017
mongo --host 10.2.29.80 --port 27017 -uadmin -padmin --authenticationDatabase admin