docker-pm2发布node服务

九月 04, 2018

1、第一步新建Dockerfile

From node
RUN mkdir -p /home/IM_LTS
WORKDIR /home/IM_LTS
COPY . /home/IM_LTS
RUN npm install
EXPOSE 30001
CMD npm run start   // 这里只能用CMD 不能用RUN

2、修改pm2为前台执行, 加上--no-daemon选项

{
    "scripts": {
    "dev": "cross-env NODE_ENV=development supervisor --harmony index.js",
    "local": "cross-env NODE_ENV=local supervisor --harmony index.js",
    "start": "cross-env NODE_ENV=production pm2 start index.js --no-daemon --node-args='--harmony' --name 'node-lts'",
    "stop": "cross-env NODE_ENV=production pm2 stop index.js --name 'node-lts'",
    "restart": "cross-env NODE_ENV=production pm2 restart index.js --no-daemon --node-args='--harmony' --name 'node-lts'"
  }
}

至此完毕