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

Dockerコンテナ内のMongodb接続エラー

    わかった。私はそれを解決しました。ここにあるこのブログの助けを借りて-https://dev.to/hugodias/wait-for-mongodb-to-start-on-docker-3h8b

    コンテナ内でmongodが完全に起動するのを待つ必要があります。 docker-compose.ymlのdepend_onキーでは不十分です。

    また、docker-compose-waitを利用するには、Dockerfileを更新する必要があります。

    参考までに-これが私の更新されたdocker-composeファイルとDockerfileファイルです。

    バージョン:「3.7」

    services: 
    
      api:
        build: ./
        working_dir: /usr/src/api-boiler/
        restart: always
        environment: 
          PORT: 3001
          MONGODB_URI: mongodb://mongodb:27017/TodoApp
          JWT_SECRET: asdkasd9a9sdn2r3513032
        ports:
          - "3001:3001"
        volumes:
          - ./:/usr/src/api-boiler/ 
        depends_on:
          - mongodb
        environment:
          WAIT_HOSTS: mongodb:27017
    
      mongodb:
        image: mongo
        container_name: mongodb
        restart: always
        volumes:
         - 27017:27017
    
    FROM node:10.8.0
    
    WORKDIR /usr/src/api-boiler
    
    COPY ./ ./
    
    RUN npm install
    
    EXPOSE 3001
    
    ## THE LIFE SAVER
    ADD https://github.com/ufoscout/docker-compose-    wait/releases/download/2.2.1/wait /wait
    RUN chmod +x /wait
    
    # CMD ["/bin/bash"]
    CMD /wait && npm run start:dev
    



    1. キーの命名規則を再確認しますか?

    2. MongoDBサーバーのディスクスペースの理解と管理

    3. Redisの概要

    4. キースペースイベントを再起動しません-起動しません