Proof-of-concept containerization engine built on containerd runtime
Small clone of the Docker containerization engine
The project is divided into two binaries:
bunkerd
This is the daemon which controls the
containerd running in the background
as the back-end. It exposes an API accessible via containerd client over the
socket mentioned in the internal/config.go
file. The API could be found in the
internal/
folder. It is similar to the Docker API but is more minimal.
bunker
This is the CLI for the bunker daemon. It parses user commands and sends them to the containerd daemon.
To build both the binaries, simply issue the make
command in the project root.
make # build the binaries
To build the binaries selectively, you can specify the binary name as the target to the make file.
make bunker # build bunker cli
make bunkerd # build bunker daemon
You can even use the build script in the scripts/build
directory.
export TARGET=bunker
sh scripts/build/binary.sh
bunkerd
daemonTo start the bunkerd daemon, simply issue the following command (you will need
sudo
rights):
sudo build/bunkerd start # start the daemon
sudo build/bunkerd stop # stop the daemon
bunker
CLIUse the binary in build/
to run the CLI:
sudo build/bunker pull [image] # pull an image
The Bunker CLI is very similar to the most popular containerization engine
Docker, but is more minimal than that. The project is in its early stages and
at present the following commands are implemented in bunker
:
pull
: Pull an image from the docker registryimages
: List images pulled from the registryrun
: Create and start a containercontainers
: List the containersrm
: Remove containersThe log files for the daemon and CLI found in /tmp
as /tmp/bunkerd.log
and
/tmp/bunker.log
respectively can be used to debug errors or track execution.
MIT (c) 2019-present Utkarsh Maheshwari <github.com/coditva>