Build and run node apps in small container using docker and zeit/pkg
dopkg is heavy inspired by dockerpkg
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:lts-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:latest and it is made to run the generated
app.bin from the
dopkg cli tool
dopkg is a simple script that executes the
docker command with the right parameters to created a build.
It pulls the
dopkg/runner images and makes sure that the working dir is mounted correctly.
How to use
Please refer to dopkg-example-app for a working example.