使用docker-composer部署nodejs应用

2017年11月1日 · 50 字 · 1 分钟

新建Dockerfile

在应用目录下新建Dockerfile

FROM node:8
WORKDIR /usr/src/app
ADD zh /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去掉

构建镜像

在应用根目录下执行

docker-compose build

构建并运行

在应用根目录下执行**-d**是后台执行

docker-compose up -d