【发布时间】:2018-09-18 09:36:18
【问题描述】:
我一直在写this awesome Express & MongoDB 应用程序,只是为了好玩, 1:https://github.com/mwaz/oober-bck,一切都在离线状态下完美运行,我为不同的应用程序环境(例如开发、登台、测试和生产)设置了不同的数据库配置,实际上在每个环境中,数据库都是不同的,给定 MongoDB灵活,我们对此没有问题。
由于应用程序通过将 $NODE_ENV 变量设置为我的本地计算机上所需的应用程序环境来正常工作,所以当应用程序被 docker 化时一切都应该正常工作,但事实并非如此,mongoDB 在某些时候崩溃并且确实未连接到应用程序,这是示例日志
Docker文件如下:
FROM node:7
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD node app.js
EXPOSE 3003
docker-compose.yml 文件
version: "2"
services:
app:
container_name: oober
restart: always
build: .
ports:
- "3003:3003"
environment:
- NODE_ENV=STAGING
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- "27017:27017"
可以使用此链接在 dockerhub 上找到 docker 映像
docker pull sparatan/oober_app
【问题讨论】:
-
@DavidMaze Express Js 从一个服务器文件连接到数据库,在上面,它位于 GitHub 存储库链接,在应用程序文件夹中名为 app.js
-
如果有人离开 cmets 而不是投反对票,我也将不胜感激,因为您不理解该问题,或者您认为根据您的专业知识或知识提出的问题不正确
-
@DavidMaze 重现:使用 docker pull sparatan/oober_app 从 docker-hub 拉取容器,使用 docker-compose up 启动应用程序,我只包含相关内容,这是一个 DevOps 问题因此我只附加了相关的 docker 配置文件,不需要您深入研究我的 GitHub 存储库。 ,还需要包括哪些其他细节,请澄清。应用没问题,配置是问题
标签: mongodb docker docker-compose dockerfile devops