【发布时间】:2018-09-29 10:20:14
【问题描述】:
我想用 Docker 运行我的项目(react+nodejs+mongodb),
Dockerfile:
FROM node:8.9-alpine
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
COPY . .
CMD nohup sh -c 'npm start && node ./server/server.js'
docker-compose.yml:
version: '2.1'
services:
chat:
image: chat
container_name: chat
build: .
environment:
NODE_ENV: production
ports:
- "3000:3000"
- "8080:8080"
volumes:
- ./:/usr/src/app
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- "27017:27017"
运行docker-compose up --build,3000端口工作,但8080端口死了
【问题讨论】:
-
您的应用程序是否在 8080 端口上运行,您可以查看 server.js 文件吗?
-
你有日志吗?没有代码也很难弄清楚,只要 server.js 文件就可以了。你为什么要移动 node_modules 文件夹
-
8080端口死了是什么意思?如果您的进程不在端口 8080 上侦听,那么很明显您将无法从那里获得任何连接。 8080应该是什么?你的服务器?如果是,那么端口 3000 上的内容是什么?
-
8080 端口是我的服务器,3000 端口是反应应用程序端口
-
哪个服务监听 8080 端口?
标签: docker docker-compose dockerfile