https://hub.docker.com/_/node/
docker-compose.ymlversion: "2"
services:
node:
image: "node:8"
environment:
- NODE_ENV=production
volumes:
- ./:/usr/src/app
expose:
- "3000"
# start
$ docker-compose up -d
# stop
$ docker-compose down
# list status
$ docker-compose ps
# show logs
$ docker-compose logs
# enter terminal
$ docker-compose exec node bash
version: "2"
services:
node:
image: "node:latest"
environment:
- DEBUG=app:*
volumes:
- ./:/usr/src/app
expose:
- "3000"
ports:
- "3000:3000"
init: true
command: bash -c "cd /usr/src/app && npm start"
Dockerfile# specify the node base image with your desired version node:<version>
FROM node:6
# replace this with your application's default port
EXPOSE 3000
# build
$ docker build -t my-nodejs-app .
# run
$ docker run -it --rm --name my-running-app my-nodejs-app bash -c "cd /usr/src/app && npm start"
https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md
Docker Bench for Security 是一個用來檢查在正式環境中,部署容器的幾十個常見最佳做法的腳本。