No more docker run
, no more pip install
, no more npm i
, just give your users executables they can run!
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
$ dockerc --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.
Please note that this project uses Git submodules. If you clone this repository, you may need to run the following commands to initialize and update the submodules:
$ git submodule init
$ git submodule update
This will ensure that you download and update all relevant submodule contents. Once the submodules are properly initialized, you can proceed with the compilation instructions below.
$ zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl
$ zig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl
- 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...