转自:https://www.ddhigh.com/2017/11/01/docker-composer-nodejs.html
新建Dockerfile
在应用目录下新建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去掉
构建镜像
在应用根目录下执行
docker-compose build |
构建并运行
在应用根目录下执行-d是后台执行
docker-compose up -d