MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lỗi kết nối Mongodb bên trong vùng chứa docker

ĐƯỢC RỒI. Tôi đã giải quyết nó. Với sự trợ giúp của blog này tại đây - https://dev.to/hugodias/wait-for-mongodb-to-start-on-docker-3h8b

Bạn cần đợi mongod khởi động hoàn toàn bên trong vùng chứa. Khóa depend_on trong docker-compost.yml là không đủ.

Bạn cũng sẽ cần cập nhật Dockerfile của mình để tận dụng docker-soạn-đợi.

Để tham khảo - đây là tệp Dockerfile và Dockerfile được cập nhật của tôi.

phiên bản:'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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Trợ giúp về biểu mẫu Rails + MongoMapper + EmbeddedDocument

  2. MongoDB và Cassandra

  3. Truy vấn Mongodb với các trường trong cùng một tài liệu

  4. Trình điều khiển Mongodb C # chỉ trả về các tài liệu con phù hợp trong mảng

  5. Cách chính xác để bắt đầu một dịch vụ mongod trên linux / OS X là gì?