Я создал свое приложение, которое работает локально. Когда я пытаюсь запустить его в Docker ( docker-compose up ), он запускается, но затем выдает сообщение об ошибке:
Creating mongodb ... done
Creating webcms ... done
Attaching to mongodb, webcms
...
Mongoose connection "error" event fired with:
MongoError: failed to connect to server [localhost:27017] on first connect
...
webcms exited with code 1
Я прочитал, что с Keystone.js вам нужно настроить расположение Mongo в файле .env , который у меня есть:
MONGO_URI=mongodb://localhost:27017
Вот мой файл Docker:
# Use node 9.4.0
FROM node:9.4.0
# Copy source code
COPY . /app
# Change working directory
WORKDIR /app
# Install dependencies
RUN npm install
# Expose API port to the outside
EXPOSE 3000
# Launch application
CMD ["node","keystone"]
... и мой докер-композитор
version: "2"
services:
# NodeJS app
web:
container_name: webcms
build: .
ports:
- 3000:3000
depends_on:
- mongo
# MongoDB
mongo:
container_name: mongo
image: mongo
volumes:
- ./data:/data/db/mongo
ports:
- 27017:27017
Когда я запускаю Docker PS , это подтверждает, что Монго работает и работает в контейнере ...
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3e06e4a5cfe mongo "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:27017->27017/tcp mongodb
Мне не хватает какой-либо конфигурации или она настроена неправильно. Может ли кто-нибудь сказать мне, что это такое?
Любая помощь будет оценена.
Спасибо!