Docker容器内的HapiJS Web应用程序没有响应

时间:2017-11-20 20:01:37

标签: mongodb docker docker-compose hapijs

我通过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.0127.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的错误,所有内容在控制台看起来都是A-OKAY,我知道它在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

1 个答案:

答案 0 :(得分:0)

原来WEB_DOMAIN是错误的env var

右边的var NODE_URI设置为0.0.0.0

现在一切正常