/docker-node

Docker images for Node.js

Primary LanguageShell

steadyserv/node Docker Images

Build Status

These images are based off the official Node.js docker images with some additional functionality:

  • Commands beginning with node or npm run as node user by default.
  • Runs dumb-init as PID 1.
  • Images derived from these base images are expected to use /app as the application directory. Everything in this directory will be recursively chowned to the node user at runtime.
  • On any derived images the .npm directory is excluded from the image during build to prevent the npm cache from landing in the image.

Dockerfile links

Example Usage

Below is an example of how to use in a derived image:

FROM steadyserv/node:6.0.0

# set environment, can be overridden with --build-arg
ARG NODE_ENV
ENV NODE_ENV ${NODE_ENV:-production}

# allow Docker build to access your private npm registry
COPY .docker_npmrc /root/.npmrc

# Install app dependencies
COPY package.json ./
RUN npm install

# Bundle app source
COPY . ./

EXPOSE  8080

CMD ["npm", "start"]

In the example above, using --build-arg NODE_ENV=development would include dev dependencies during the install phase... otherwise it will default to production.