dockerc - compile docker images to standalone portable binaries
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
- Compile docker images into portable binaries
- Rootless containers
- MacOS and Windows support (using QEMU)
- x86_64 support
- arm64 support
- Supports arguments
- Supports specifying environment variables using
-e
- Supports specifying volumes using
-v
- Support other arguments...