Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb docker mongo用于单个(仅主节点)副本集(用于开发)?_Mongodb_Docker Compose_Mongodb Replica Set - Fatal编程技术网

Mongodb docker mongo用于单个(仅主节点)副本集(用于开发)?

Mongodb docker mongo用于单个(仅主节点)副本集(用于开发)?,mongodb,docker-compose,mongodb-replica-set,Mongodb,Docker Compose,Mongodb Replica Set,这是dockerfile中迄今为止为我们提供良好服务的部分。但是,现在我需要将其转换为单节点副本集(以使事务正常工作)。我不需要任何辅助节点或仲裁节点,只需要主节点。我错过了什么来让它工作 mongo: image: mongo:4.4.3 container_name: mongo restart: unless-stopped environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PAS

这是dockerfile中迄今为止为我们提供良好服务的部分。但是,现在我需要将其转换为单节点副本集(以使事务正常工作)。我不需要任何辅助节点或仲裁节点,只需要主节点。我错过了什么来让它工作

mongo:
  image: mongo:4.4.3
  container_name: mongo
  restart: unless-stopped
  environment:
    MONGO_INITDB_ROOT_USERNAME: root
    MONGO_INITDB_ROOT_PASSWORD: myPass
  command: mongod --port 27017
  ports:
    - '27017:27017'
  volumes:
    - ./data/mongodb:/data/db
    - ./data/mongodb/home:/home/mongodb/
    - ./configs/mongodb/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro

让它工作起来。我在上述问题的方框中插入了以下内容:

hostname: mongodb
volumes:
  - ./data/mongodb/data/log/:/var/log/mongodb/
# the healthcheck avoids the need to initiate the replica set
healthcheck:
  test: test $$(echo "rs.initiate().ok || rs.status().ok" | mongo -u root -p imagiaRoot --quiet) -eq 1
  interval: 10s
  start_period: 30s

这看起来像一个独立的配置,您是如何将其制作成副本集的?