A minimal Docker implementation written in approximately 100 lines of bash script.
Bocker is a minimal implementation of Docker's core functionality written in approximately 100 lines of bash script. It provides basic container operations like image pulling, container execution, and resource isolation using Linux kernel features. The project serves as an educational demonstration of how containerization works under the hood.
System administrators, DevOps engineers, and developers interested in understanding container internals or experimenting with lightweight containerization solutions.
Bocker offers unparalleled transparency into container mechanics by implementing them in simple bash, making it an excellent learning tool compared to complex production systems like Docker.
Docker implemented in around 100 lines of bash
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implemented in around 100 lines of bash, making the core logic transparent and easy to audit for educational purposes, as highlighted in the README.
Demystifies containerization by using basic Linux tools like cgroups and Btrfs snapshots, with examples showing /proc/1/cgroup output and configurable quotas.
Provides essential Docker-like commands such as pull, run, commit, and logs, enabling hands-on experimentation with container management workflows.
Allows setting CPU and memory quotas via environment variables like BOCKER_CPU_SHARE, integrating with cgroups for isolation, as demonstrated in the example usage.
Requires manual setup of a Btrfs filesystem, network bridge, and specific package versions, with the README noting that util-linux often needs compilation, complicating deployment.
Admits lack of data volumes and port forwarding in the 'Not Yet Implemented' section, limiting its utility for real-world applications beyond basic demonstrations.
Runs as root and modifies critical system components like network interfaces and firewall rules; the README explicitly warns it might 'trash your system' and recommends using a VM.
Offers only a very minimal implementation of docker build via bocker init, lacking support for multi-stage builds or complex Dockerfile instructions.
Bocker is an open-source alternative to the following products: