Build and run node apps in small containers using docker and zeit/pkg.
zeit/pkg is a tool to package a NodeJS project into an executable. The resulting packages can be used on a system without having to install NodeJS, npm or the project dependencies.
When used together with a small system like Alpine Linux this can result in simple and minimal Docker images.
This project aims for a very simple workflow to create these small images. It does so by separating the process of building and running the container and it provides a simple helper command to run the build.
The builder image is based on node:7.9-alpine
and it runs the pkg
command with some params in the mounted directory.
The result is a generated binary called app.bin
in the mounted directory (generally this is the dir of you project).
The runner images is based on alpine:3.5
and it is made to run the generated app.bin
from the /app
directory.
The dockerpkg
is a simple script that executes the docker
command with the right parameters to created a build.
It pulls the dockerpkg/runner
images and makes sure that the working dir is mounted correctly.
Please refer to dockerpkg-example for a working example.
MIT