bunker

Proof-of-concept containerization engine built on containerd runtime

View the Project on GitHub coditva/bunker

Build Status Libraries.io dependency status Golang version GoDoc GitHub issues GitHub pull requests GitHub code size in bytes License

Bunker

Small clone of the Docker containerization engine

About

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.

Building the project

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

Using Bunker

Using bunkerd daemon

To 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

Using the bunker CLI

Use the binary in build/ to run the CLI:

sudo build/bunker pull [image]      # pull an image

API

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:

Debugging

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

License

MIT (c) 2019-present Utkarsh Maheshwari <github.com/coditva>

FOSSA Status