//生成keyfile openssl rand -base64 756 > mongo-keyfile.jks chmod 400 keyfile/keyfile.jks //如果报error opening file: keyfile/keyfile.jks: bad file chown 999 keyfile/keyfile.jks
docker-compose up -d
version: "3.7" services: mgomaster: image: mongo:4.4.9 container_name: mgomaster restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: xxxx command: mongod --auth --keyFile /keyfile/keyfile.jks --bind_ip_all --replSet rs0 volumes: - ./master:/data/db - ./keyfile:/keyfile ports: - "27017:27017" networks: - default mgoslaver: image: mongo:4.4.9 container_name: mgoslaver restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: xxxx command: mongod --auth --keyFile /keyfile/keyfile.jks --bind_ip_all --replSet rs0 volumes: - ./slaver:/data/db - ./keyfile:/keyfile ports: - "27018:27017" networks: - default networks: default: external: name: xxx
docker exec -it mgomaster /bin/bash
进入 docker 以后, mongo -u <用户名> -p <密码>
rs 初始化
rs.initiate( { _id : 'rs0', members: [ { _id : 0, host : "mgomaster:27017" }, { _id : 1, host : "mgoslaver:27017" }, ] } )
通过 rs.status() 查看状态即可。