NilsIrl / dockerc

container image to single executable compiler
GNU General Public License v3.0
2.74k stars 40 forks source link
containers docker oci oci-image

dockerc - compile docker images to standalone portable binaries

No more Tweet

No more docker run, no more pip install, no more npm i, just give your users executables they can run!

Usage

Install dockerc from the latest release.

# Image from docker hub
$ dockerc --image docker://oven/bun --output bun
# Image in local docker daemon storage
$ dockerc --image docker-daemon:mysherlock-image:latest --output sherlock_bin
# Specify target instruction set architecture
$ docker --image docker://hello-world --arch arm64 --output hello

The output binary can then be called as you would with usual binaries. You can also specify -e, and -v in the same way you would when using docker run. Networked services running inside the container can be accessed directly without having to specify -p.

Skopeo is used for loading images, for other locations refer to its documentation.

Build from source

$ zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl
$ zig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl

Features