docker-compose标准化部署MongoDB


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

 

posted @ 2025-06-17 00:12  屠魔的少年  阅读(74)  评论(0)    收藏  举报