Cài đặt trên Docker
Sử dụng docker run
Pull image mongodb
docker pull mongo:latest
docker pull mongo:6.0
docker pull mongo:5.0
docker pull mongo:4.4.17JavaScriptTạo network cho mongodb
docker network create mongoNetJavaScriptRun mongodb với 1 cái r0 làm primary và 2 cái còn lại làm secondary
docker run -d -p 27018:27017 --net mongoNet --name r1 mongo --replSet mongoRep
docker run -d -p 27019:27017 --net mongoNet --name r2 mongo --replSet mongoRep
docker run -d -p 27020:27017 --net mongoNet --name r3 mongo --replSet mongoRepJavaScriptSử dụng Docker compose
Tạo file docker-compose.yml với nội dung sau
version: '3.8'
services:
  mongo1:
    image: mongo:6
    command: --replSet my-mongo-set
    volumes:
      - mongo1_data:/data/db
    networks:
      - my-mongo-cluster
    ports:
      - 27017:27017
  mongo2:
    image: mongo:6
    command: --replSet my-mongo-set
    volumes:
      - mongo2_data:/data/db
    networks:
      - my-mongo-cluster
    ports:
      - 27018:27017
  mongo3:
    image: mongo:6
    command: --replSet my-mongo-set
    volumes:
      - mongo3_data:/data/db
    networks:
      - my-mongo-cluster
    ports:
      - 27019:27017
networks:
  my-mongo-cluster:
    driver: bridge
volumes:
  mongo1_data:
  mongo2_data:
  mongo3_data:YAMLKết nối vào mongo shell của container mongo 1
docker exec -it <container_id_mongo_1> mongoshBashLưu ý: với mongodb 5 hoặc 4 thì bạn cần đổi mongosh thành mongo
Cấu hình Replica set
config = {
  "_id":"my-mongo-set",
  "members":[
    {"_id" : 0, "host" : "192.168.1.253:27017"},
    {"_id" : 1, "host" : "192.168.1.253:27018"},
    {"_id" : 2, "host" : "192.168.1.253:27019"}
  ]
}
rs.initiate(config)BashTrong đó 192.168.1.253 là địa chỉ IPv4 có thể kiểm tra bằng lệnh ipconfig.
Kiểm tra lại trạng thaí Replication
rs.status()Bash