🌐Super small Node.js container (~15MB) based on Alpine Linux OS
This is a repo for those who work with Node.js and Docker.
The propose of it is to cover all the needs since you start writing your first file, to your rolling-update deployment.
As so, there are four things you need to know about this:
node.docker
Launcher - is a command-line tool which is a nice candidate to replace all yournode
calls, for a containerized one.cusspvz/node:onbuild
docker image - Docker image withONBUILD
statements for helping you to deploy small, enhanced and npm standardized projects.cusspvz/node:development
docker image - Development image for CI Runners with built-in Docker-in-Docker support, build and versioning control tools.cusspvz/node:latest
docker image - Docker Image based on Alpine Linux, this is the base that is empowering the super-heroes above.
What if you could develop using containers? Here's a brief example of things you could do:
# Launch `index.js` using node 0.12.7
node.docker 0.12.7 ./index.js
# Guess what, you don't even need to have node installed.
# Without even having a Dockerfile, build and push a Docker Image from your app
cd ~/path/to/my/app
node.docker push 0.12.7 my-app:latest
# node.docker build node_version image_description
# node.docker run node_version image_description
# node.docker push node_version image_description
You could use this image as a regular one, but we advise you to use onbuild
for rapid development.
Focus on your project instead of your Dockerfile. Keep It Simple, Stupid:
FROM cusspvz/node:0.12.7-onbuild
I believe Node-based images shouldn't have their tests on it, it takes space that won't be used into your production environment. Unfortunately its a very common behavior at most projects I've digged in.
As so, I've created a new tag for all those so we can test an app before building it!
- basic stuff like: bash, wget, curl...
- versioning software: git and svn
- build utils, so you don't have problems when running
npm install
- Docker-in-Docker, based on
jpetazzo/dind
procedure - Container orchestration tools: docker-compose and rancher-compose
- an Node.js build (are you serious? hahaha)
- Add your test folder into your
.dockerignore
- Create docker runners using up
cusspvz/node:development
image - On your favorite CD/CI system, just set up to run the
test
stage before thebuild
one.
cusspvz/node:7.6.0-development
cusspvz/node:7.5.0-development
cusspvz/node:7.4.0-development
cusspvz/node:7.3.0-development
cusspvz/node:7.2.1-development
cusspvz/node:7.2.0-development
cusspvz/node:7.1.0-development
cusspvz/node:7.0.0-development
cusspvz/node:6.10.0-development
cusspvz/node:6.9.5-development
cusspvz/node:6.9.4-development
cusspvz/node:6.9.3-development
cusspvz/node:6.9.2-development
cusspvz/node:6.9.1-development
cusspvz/node:6.9.0-development
cusspvz/node:6.8.1-development
cusspvz/node:6.8.0-development
cusspvz/node:6.7.0-development
cusspvz/node:6.6.0-development
cusspvz/node:6.5.0-development
cusspvz/node:6.4.0-development
cusspvz/node:6.3.1-development
cusspvz/node:6.3.0-development
cusspvz/node:6.2.2-development
cusspvz/node:6.2.1-development
cusspvz/node:6.2.0-development
cusspvz/node:6.1.0-development
cusspvz/node:6.0.0-development
cusspvz/node:5.12.0-development
cusspvz/node:5.11.1-development
cusspvz/node:5.11.0-development
cusspvz/node:5.10.1-development
cusspvz/node:5.10.0-development
cusspvz/node:5.9.1-development
cusspvz/node:5.9.0-development
cusspvz/node:5.8.0-development
cusspvz/node:5.7.1-development
cusspvz/node:5.7.0-development
cusspvz/node:5.6.0-development
cusspvz/node:5.5.0-development
cusspvz/node:5.4.1-development
cusspvz/node:5.4.0-development
cusspvz/node:5.3.0-development
cusspvz/node:5.2.0-development
cusspvz/node:5.1.1-development
cusspvz/node:5.1.0-development
cusspvz/node:5.0.0-development
cusspvz/node:4.4.7-development
cusspvz/node:4.4.6-development
cusspvz/node:4.4.5-development
cusspvz/node:4.4.4-development
cusspvz/node:4.4.3-development
cusspvz/node:4.4.2-development
cusspvz/node:4.4.1-development
cusspvz/node:4.4.0-development
cusspvz/node:4.3.2-development
cusspvz/node:4.3.1-development
cusspvz/node:4.3.0-development
cusspvz/node:4.2.6-development
cusspvz/node:4.2.5-development
cusspvz/node:4.2.4-development
cusspvz/node:4.2.3-development
cusspvz/node:4.2.2-development
cusspvz/node:4.2.1-development
cusspvz/node:4.2.0-development
cusspvz/node:4.1.2-development
cusspvz/node:4.1.1-development
cusspvz/node:4.1.0-development
cusspvz/node:4.0.0-development
cusspvz/node:0.12.15-development
cusspvz/node:0.12.14-development
cusspvz/node:0.12.13-development
cusspvz/node:0.12.12-development
cusspvz/node:0.12.11-development
cusspvz/node:0.12.10-development
cusspvz/node:0.12.9-development
cusspvz/node:0.12.8-development
cusspvz/node:0.12.7-development
cusspvz/node:0.12.6-development
cusspvz/node:0.12.5-development
cusspvz/node:0.12.4-development
cusspvz/node:0.12.3-development
cusspvz/node:0.12.2-development
cusspvz/node:0.12.1-development
cusspvz/node:0.12.0-development
cusspvz/node:0.11.16-development
cusspvz/node:0.11.15-development
cusspvz/node:0.11.14-development
cusspvz/node:0.11.13-development
cusspvz/node:0.11.12-development
cusspvz/node:0.11.11-development
cusspvz/node:0.11.10-development
cusspvz/node:0.11.9-development
cusspvz/node:0.11.8-development
cusspvz/node:0.11.7-development
cusspvz/node:0.11.6-development
cusspvz/node:0.11.5-development
cusspvz/node:0.11.4-development
cusspvz/node:0.11.3-development
cusspvz/node:0.11.2-development
cusspvz/node:0.11.1-development
cusspvz/node:0.11.0-development
cusspvz/node:0.10.46-development
cusspvz/node:0.10.45-development
cusspvz/node:0.10.44-development
cusspvz/node:0.10.43-development
cusspvz/node:0.10.42-development
cusspvz/node:0.10.41-development
cusspvz/node:0.10.40-development
cusspvz/node:0.10.39-development
cusspvz/node:0.10.38-development
cusspvz/node:0.10.37-development
cusspvz/node:0.10.36-development
cusspvz/node:0.10.35-development
cusspvz/node:0.10.34-development
cusspvz/node:0.10.33-development
cusspvz/node:0.10.32-development
cusspvz/node:0.10.31-development
cusspvz/node:0.10.30-development
cusspvz/node:0.10.29-development
cusspvz/node:0.10.28-development
cusspvz/node:0.10.27-development
cusspvz/node:0.10.26-development
cusspvz/node:0.10.25-development
cusspvz/node:0.10.24-development
cusspvz/node:0.10.23-development
cusspvz/node:0.10.22-development
cusspvz/node:0.10.21-development
cusspvz/node:0.10.20-development
cusspvz/node:0.10.19-development
cusspvz/node:0.10.18-development
cusspvz/node:0.10.17-development
cusspvz/node:0.10.16-development
cusspvz/node:0.10.15-development
cusspvz/node:0.10.14-development
cusspvz/node:0.10.13-development
cusspvz/node:0.10.12-development
cusspvz/node:0.10.11-development
cusspvz/node:0.10.10-development
cusspvz/node:0.10.9-development
cusspvz/node:0.10.8-development
cusspvz/node:0.10.7-development
cusspvz/node:0.10.6-development
cusspvz/node:0.10.5-development
cusspvz/node:0.10.4-development
cusspvz/node:0.10.3-development
cusspvz/node:0.10.2-development
cusspvz/node:0.10.1-development
cusspvz/node:0.10.0-development
cusspvz/node:0.9.12-development
cusspvz/node:0.9.11-development
cusspvz/node:0.9.10-development
cusspvz/node:0.9.9-development
cusspvz/node:0.9.8-development
cusspvz/node:0.9.7-development
cusspvz/node:0.9.6-development
cusspvz/node:0.9.5-development
cusspvz/node:0.9.4-development
cusspvz/node:0.9.3-development
cusspvz/node:0.9.2-development
cusspvz/node:0.9.1-development
cusspvz/node:0.9.0-development
cusspvz/node:0.8.28-development
cusspvz/node:0.8.27-development
cusspvz/node:0.8.26-development
cusspvz/node:0.8.25-development
cusspvz/node:0.8.24-development
cusspvz/node:0.8.23-development
cusspvz/node:0.8.22-development
cusspvz/node:0.8.21-development
cusspvz/node:0.8.20-development
cusspvz/node:0.8.19-development
cusspvz/node:0.8.18-development
cusspvz/node:0.8.17-development
cusspvz/node:0.8.16-development
cusspvz/node:0.8.15-development
cusspvz/node:0.8.14-development
cusspvz/node:0.8.13-development
cusspvz/node:0.8.12-development
cusspvz/node:0.8.11-development
cusspvz/node:0.8.10-development
cusspvz/node:0.8.9-development
cusspvz/node:0.8.8-development
cusspvz/node:0.8.7-development
cusspvz/node:0.8.6-development
cusspvz/node:0.8.5-development
cusspvz/node:0.8.4-development
cusspvz/node:0.8.3-development
cusspvz/node:0.8.2-development
cusspvz/node:0.8.1-development
cusspvz/node:0.8.0-development
cusspvz/node:0.7.12-development
cusspvz/node:0.7.11-development
cusspvz/node:0.7.10-development
cusspvz/node:0.7.9-development
cusspvz/node:0.7.8-development
cusspvz/node:0.7.7-development
cusspvz/node:0.7.6-development
cusspvz/node:0.7.5-development
cusspvz/node:0.7.4-development
cusspvz/node:0.7.3-development
cusspvz/node:0.7.2-development
cusspvz/node:0.7.1-development
cusspvz/node:0.7.0-development
cusspvz/node:0.6.21-development
cusspvz/node:0.6.20-development
cusspvz/node:0.6.19-development
cusspvz/node:0.6.18-development
cusspvz/node:0.6.17-development
cusspvz/node:0.6.16-development
cusspvz/node:0.6.15-development
cusspvz/node:0.6.14-development
cusspvz/node:0.6.13-development
cusspvz/node:0.6.12-development
cusspvz/node:0.6.11-development
cusspvz/node:0.6.10-development
cusspvz/node:0.6.9-development
cusspvz/node:0.6.8-development
cusspvz/node:0.6.7-development
cusspvz/node:0.6.6-development
cusspvz/node:0.6.5-development
cusspvz/node:0.6.4-development
cusspvz/node:0.6.3-development
cusspvz/node:0.6.2-development
cusspvz/node:0.6.1-development
cusspvz/node:0.6.0-development
cusspvz/node:0.5.10-development
cusspvz/node:0.5.9-development
cusspvz/node:0.5.8-development
cusspvz/node:0.5.7-development
cusspvz/node:0.5.6-development
cusspvz/node:0.5.5-development
cusspvz/node:0.5.4-development
cusspvz/node:0.5.3-development
cusspvz/node:0.5.2-development
cusspvz/node:0.5.1-development
cusspvz/node:0.5.0-development
cusspvz/node:0.4.12-development
cusspvz/node:0.4.11-development
cusspvz/node:0.4.10-development
cusspvz/node:0.4.9-development
cusspvz/node:0.4.8-development
cusspvz/node:0.4.7-development
cusspvz/node:0.4.6-development
cusspvz/node:0.4.5-development
cusspvz/node:0.4.4-development
cusspvz/node:0.4.3-development
cusspvz/node:0.4.2-development
cusspvz/node:0.4.1-development
cusspvz/node:0.4.0-development
cusspvz/node:0.3.8-development
cusspvz/node:0.3.7-development
cusspvz/node:0.3.6-development
cusspvz/node:0.3.5-development
cusspvz/node:0.3.4-development
cusspvz/node:0.3.3-development
cusspvz/node:0.3.2-development
cusspvz/node:0.3.1-development
cusspvz/node:0.3.0-development
cusspvz/node:0.2.6-development
cusspvz/node:0.2.5-development
cusspvz/node:0.2.4-development
cusspvz/node:0.2.3-development
cusspvz/node:0.2.2-development
cusspvz/node:0.2.1-development
cusspvz/node:0.2.0-development
cusspvz/node:0.1.104-development
cusspvz/node:0.1.103-development
cusspvz/node:0.1.102-development
cusspvz/node:0.1.101-development
cusspvz/node:0.1.100-development
cusspvz/node:0.1.99-development
cusspvz/node:0.1.98-development
cusspvz/node:0.1.97-development
cusspvz/node:0.1.96-development
cusspvz/node:0.1.95-development
cusspvz/node:0.1.94-development
cusspvz/node:0.1.93-development
cusspvz/node:0.1.92-development
cusspvz/node:0.1.91-development
cusspvz/node:0.1.90-development
cusspvz/node:0.1.33-development
cusspvz/node:0.1.32-development
cusspvz/node:0.1.31-development
cusspvz/node:0.1.30-development
cusspvz/node:0.1.29-development
cusspvz/node:0.1.28-development
cusspvz/node:0.1.27-development
cusspvz/node:0.1.26-development
cusspvz/node:0.1.25-development
cusspvz/node:0.1.24-development
cusspvz/node:0.1.23-development
cusspvz/node:0.1.22-development
cusspvz/node:0.1.21-development
cusspvz/node:0.1.20-development
cusspvz/node:0.1.19-development
cusspvz/node:0.1.18-development
cusspvz/node:0.1.17-development
cusspvz/node:0.1.16-development
cusspvz/node:0.1.15-development
cusspvz/node:0.1.14-development
VERSION="0.12.7" make build