Public | Automated Build

Last pushed: 2 months ago
Short Description
27MB NodeJS over AlpineLinux
Full Description

NodeJS in a box

Alpine Linux 3.6 Docker image with NodeJS v6.10.3


It's assumed that you have working ./package.json with resolvable dependencies and proper start script, so that npm install and npm start works.

  • without building an image:

      docker run -it --rm \
        --name my-node-project \
        -p 5080:5080 \
        -v $(pwd):/app \

You should customize your EXPOSE [] according to server.js.
You can also add ENTRYPOINT, override CMD and add dependencies as needed.

  • building from onbuild tag:

      # Dockerfile
      FROM anapsix/nodejs:onbuild
      EXPOSE 5080

To permanently install additional AlpineLinux packages, place one package name per line into ./deps.apk.
Applies to latest as well as onbuild.
For custom actions, create executable script.
For build-time only dependencies (e.g. bson npm package requires make and g++ to compile c++ extention), use ./deps_build.apk.
All packages will be installed before npm install and removed immediately after, for the sake of making resulting image smaller.
Applies to latest as well as onbuild, except that latest will not cleanup the build-time dependencies.


  • latest tries to resolve dependencies during docker run, before running npm install && npm start (assuming you did not override the CMD)
  • onbuild resolves dependencies during docker build, cleans up build-time dependencies and the only command executed during docker run is npm start (assuming you did not override the CMD)


Add ./examples

Docker Pull Command
Source Repository