sql >> データベース >  >> NoSQL >> MongoDB

レプリカSetmongodocker-compose

    同様の問題が発生し、次の作成ファイルで解決しました:

    version: "3.8"
    
    services:
      mongo1:
        image: mongo:4.2
        container_name: mongo1
        command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30001"]
        volumes:
          - ./data/mongo-1:/data/db
        ports:
          - 30001:30001
        healthcheck:
          test: test $$(echo "rs.initiate({_id:'my-replica-set',members:[{_id:0,host:\"mongo1:30001\"},{_id:1,host:\"mongo2:30002\"},{_id:2,host:\"mongo3:30003\"}]}).ok || rs.status().ok" | mongo --port 30001 --quiet) -eq 1
          interval: 10s
          start_period: 30s
    
      mongo2:
        image: mongo:4.2
        container_name: mongo2
        command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30002"]
        volumes:
          - ./data/mongo-2:/data/db
        ports:
          - 30002:30002
    
      mongo3:
        image: mongo:4.2
        container_name: mongo3
        command: ["--replSet", "my-replica-set", "--bind_ip_all", "--port", "30003"]
        volumes:
          - ./data/mongo-3:/data/db
        ports:
          - 30003:30003
    

    私の/etc/hostsに次のように ファイル:

    127.0.0.1       mongo1
    127.0.0.1       mongo2
    127.0.0.1       mongo3
    

    私はそれをGitHubリポジトリに記録し、ここに小さなブログ投稿を付けました:

    https://github.com/UpSync-Dev/docker-compose-mongo-replica-set

    https://www.upsync.dev/2021/02/02/run-mongo-replica-set.html



    1. 値がリストにすでに存在するかどうかを確認するRedis

    2. 日付付きのドキュメントをmongoに挿入するにはどうすればよいですか?

    3. Azureはmongodbやredisなどをサポートしていますか?

    4. Sidekiqの民主的なキュー