【发布时间】:2017-12-16 09:36:06
【问题描述】:
我通过 docker compose 2+ 使用 HapiJS
.env
NODE_VIEWS_PATH=../
NODE_PUBLIC_PATH=../
MONGODB_URI=mongodb://127.0.0.1:27017/mahrio
WEB_DOMAIN=http://127.0.0.1:6085
在某处深处,我正在通过这些 .env 文件设置 HapiJS 的东西,但对于 Docker,我知道我需要做一些更改.. 没问题,我制作了一个特定于 docker 的版本
docker.env
NODE_VIEWS_PATH=../
NODE_PUBLIC_PATH=../
MONGODB_URI=mongodb://mongo:27017/mahrio
WEB_DOMAIN=http://0.0.0.0:6085
我试过 0.0.0.0 和 127.0.0.1 ,都不管用
我可以看到一切似乎都正常,但是当我转到 localhost:6085 时,我没有得到任何回应。
127.0.0.1 didn’t send any data.
Dockerfile
FROM node:carbon
# Create app directory
RUN mkdir -p /usr/src/mahrio
WORKDIR /usr/src/mahrio
COPY package*.json /usr/src/mahrio
RUN npm install
# If you are building your code for production
# RUN npm install --only=production
COPY . /usr/src/mahrio
EXPOSE 6085
CMD ["npm", "start"]
docker-compose.yml
version: "2"
services:
app:
build: .
container_name: mahrio
depends_on:
- mongo
env_file:
- docker.env
ports:
- "6085:6085"
restart: always
mongo:
container_name: mongo
image: mongo
volumes:
- ./tmp:/data/db
ports:
- "27017:27017"
有什么想法吗? nodejs 不会出现任何错误,在控制台上一切看起来都还不错,我知道它在 docker 之外工作得很好。
编辑:添加了docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
25e7a4c3f350 mahriomedium_app "npm start" 24 hours ago Up About a minute 0.0.0.0:6085->6085/tcp mahrio
c8d691777aa0 mongo "docker-entrypoint..." 3 days ago Up About a minute 0.0.0.0:27017->27017/tcp mongo
docker logs
> mahrio-medium@0.0.1 start /usr/src/mahrio
> node server/index.js
Running Development!
MongoDB Config...
Server running at: http://127.0.0.1:6085
MongoDB connected!
db connection opened
【问题讨论】:
-
如果你使用
docker ps -a找到容器,看看它是否还在运行。docker logs {containerId}会告诉你应用程序是如何启动的或者它是否崩溃了。 -
如果你去
http://mahrio:6085可以查看申请吗? -
如果它仍在运行,docker 日志会说什么?
-
@d3l33t 尝试
mahrio:6085给出相同的结果 -
@ShawnC。在末尾添加
docker logs,以及docker ps output
标签: mongodb docker docker-compose hapijs