/docker-nodebox

Node.js/Busybox Dockerfile.

Primary LanguageMakefile

DEPRICATION NOTICE

I'm abandoning this in favor of jmervine/mininode for newer version due to changes in Busybox which makes building things annoying. I will be added new versions there as they become available in Alpine's package manager. I've also included jmervine/miniiojs as part of this switch.

Node.js/Busybox Dockerfile

WARNING!!!

With the exception of -fat variants, which are much larger, these images don't contain python. As such, node-gyp and therefore native extensions will not work.

This repository contains Dockerfile of Node.js running with Busybox (~28 MB virtual size) published to the public Docker Hub Registry.

Base Docker Image

Usage

> docker run --rm -ti jmervine/nodebox:<VERSIOM>
# node --version
v<VERSION>

Versions

ONBUILD variant

All versions support an -onbuild variant. This is based on the core nodejs docker image, and expects the following:

  • Your Dockerfile is in your project root along side your package.json.
  • Your app to be started via npm start.

Example tree:

.
├── Dockerfile
├── app.js
└── package.json

Example Dockerfile:

FROM jmervine/nodebox:0.10.36-onbuild
# replace this with your application's default port
EXPOSE 8888

Contributing: Building / Development

Fork this repo.

To add a new version, simply create a new directory -- updating the latest symlink if needed -- and run the following:

# version are for example only

# create new version
cp -r 0.12.5 0.12.6

# update symlinks
rm latest 0.12
ln -s 0.12.6 latest
ln -s 0.12.6 0.12

# generate new Dockerfile(s)
make generate/0.12.6

# build new images
make build/{0.12.6,0.12,latest}

# test new images
make test/{0.12.6,0.12,latest}

# commit changes
git add -A
git commit -a -m 'Adding version 0.12.6'

If updating either the template or the parent image:

make generate build test

Send me a pull request.