【发布时间】:2019-02-07 13:15:34
【问题描述】:
我已经构建了在本地运行良好的应用程序。当我尝试在 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 您需要在 .env 文件中配置 Mongo 位置,我有:
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"]
...还有我的 docker-compose
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 时,它确认 mongo 已启动并在容器中运行...
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
我要么缺少某些配置,要么配置不正确。谁能告诉我那是什么?
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: mongodb docker docker-compose keystonejs