Build and run node apps in small docker containers using zeit/pkg
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin Fix error message May 4, 2017
builder
runner
.gitignore
LICENSE
README.md
package.json

README.md

dockerpkg

Build and run node apps in small containers using docker and zeit/pkg.

Introduction

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.

Components

dockerpkg/builder

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).

dockerpkg/runner

The runner images is based on alpine:3.5 and it is made to run the generated app.bin from the /app directory.

dockerpkg cli tool

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.

How to use

Please refer to dockerpkg-example for a working example.

Credits

LICENSE

MIT