好。我已经解决了 在此博客的帮助下-https: //dev.to/hugodias/wait-for-mongodb-to-start-on-
docker-3h8b
您需要等待mongod在容器中完全启动。docker-compose.yml中的dependent_on键不够。
您还需要更新Dockerfile以利用docker-compose-wait。
供参考-这是我更新的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.0WORKDIR /usr/src/api-boilerCOPY ./ ./RUN npm installEXPOSE 3001## THE LIFE SAVERADD https://github.com/ufoscout/docker-compose- wait/releases/download/2.2.1/wait /waitRUN chmod +x /wait# CMD ["/bin/bash"]CMD /wait && npm run start:dev



