docker-compose 布署nodejs应用

Dockerfile

FROM node:8
WORKDIR /usr/src/app
ADD . /usr/src/app
RUN npm install --registry=https://registry.npm.taobao.org
USER node
EXPOSE 8080

8080 端口请根据实际情况调整。建议大于1024,否则使用node用户启动应用时可能权限不足

  • 新建docker-compose.yml

在应用目录下新建docker-compose.yml

version: "2"
services:
  jsconsole:
    build: .
    volumes:
      - .:/usr/src/app
      - /usr/src/app/node_modules
    ports:
      - "127.0.0.1:8081:8080"
    command: "npm start"
    restart: always

127.0.0.1:8081是宿主机IP和端口,我前端采用了nginx做反向代理。如果是直接提供公网服务的话把127.0.0.1去掉

https://www.ddhigh.com/2017/11/01/docker-composer-nodejs.html