ठीक है। मैंने इसे हल कर लिया है। यहां इस ब्लॉग की सहायता से - https://dev.to/hugodias/wait-for-mongodb-to-start-on-docker-3h8b
आपको मोंगोड के कंटेनर के अंदर पूरी तरह से शुरू होने की प्रतीक्षा करने की आवश्यकता है। docker-compose.yml में डिपेंड_ऑन की पर्याप्त नहीं है।
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