HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
p8952
bocker
Shell2015–2026
p8952 / bocker

bocker

Docker implemented in around 100 lines of bash

48Distinct people
68Mentions
0Explicit recommenders
12.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Docker implemented in around 100 lines of bash

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year68 dated mentions

Observed mentions: 2015-07-21 21:20:07 UTC to 2026-10-23 00:33:39 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 15 mentions; 3 submissions, 12 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC211
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC505
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC514
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC15312
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC10010
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC918
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC606
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC523
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Bocker Docker implemented in around 100 lines of bash. Prerequisites Example Usage Functionality: Currently Implemented Functionality: Not Yet Implemented License Prerequisites The following packages are needed to run bocker. btrfs-progs curl iproute2 iptables libcgroup-tools util-linux >= 2.25.2 coreutils >= 7.5 Because most distributions do not ship a new enough version of util-linux you will probably need to grab the sources from here and compile it yourself. Additionally your system will need to be configured with the following: A btrfs filesystem mounted under /var/bocker A network bridge called bridge0 and an IP of 10.0.0.1/24 IP forwarding enabled in /proc/sys/net/ipv4/ip_forward A firewall routing traffic from bridge0 to a physical interface. For ease of use a Vagrantfile is included which will build the needed environment. Even if you meet the above prerequisites you probably still want to run bocker in a virtual machine. Bocker runs as root and among other things needs to make changes to your network interfaces, routing table, and firewall rules. I can make no guarantees that it won't trash your system. Example Usage $ bocker pull centos 7 ######################################################################## 100.0% ######################################################################## 100.0% ######################################################################## 100.0% Created: img_42150 $ bocker images IMAGE_ID SOURCE img_42150 centos:7 $ bocker run img_42150 cat /etc/centos-release CentOS Linux release 7.1.1503 (Core) $ bocker ps CONTAINER_ID COMMAND ps_42045 cat /etc/centos-release $ bocker logs ps_42045 CentOS Linux release 7.1.1503 (Core) $ bocker rm ps_42045 Removed: ps_42045 $ bocker run img_42150 which wget which: no wget in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) $ bocker run img_42150 yum install -y wget Installing : wget-1.14-10.el7_0.1.x86_64 1/1 Verifying : wget-1.14-10.el7_0.1.x86_64 1/1 Installed : wget.x86_64 0:1.14-10.el7_0.1 Complete! $ bocker ps CONTAINER_ID COMMAND ps_42018 yum install -y wget ps_42182 which wget $ bocker commit ps_42018 img_42150 Removed: img_42150 Created: img_42150 $ bocker run img_42150 which wget /usr/bin/wget $ bocker run img_42150 cat /proc/1/cgroup ... 4:memory:/ps_42152 3:cpuacct,cpu:/ps_42152 $ cat /sys/fs/cgroup/cpu/ps_42152/cpu.shares 512 $ cat /sys/fs/cgroup/memory/ps_42152/memory.limit_in_bytes 512000000 $ BOCKER_CPU_SHARE=1024 \ BOCKER_MEM_LIMIT=1024 \ bocker run img_42150 cat /proc/1/cgroup ... 4:memory:/ps_42188 3:cpuacct,cpu:/ps_42188 $ cat /sys/fs/cgroup/cpu/ps_42188/cpu.shares 1024 $ cat /sys/fs/cgroup/memory/ps_42188/memory.limit_in_bytes 1024000000 Functionality: Currently Implemented docker build † docker pull docker images docker ps docker run docker exec docker logs docker commit docker rm / docker rmi Networking Quota Support / CGroups † bocker init provides a very limited implementation of docker build Functionality: Not Yet Implemented Data Volume Containers Data Volumes Port Forwarding License Copyright (C) 2015 Peter Wilmott This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Read the full README on GitHub

What Hacker News says

68 sources
we love nix for dev environments, and highly recommend it. many other problems go away. don't see that as what's being solved here, though. containers contain stuff the way an open bookcase contains books, they're just namespaces and cgroups on a file system overlay, more or less, held together by willpower not boundaries: https://jvns.ca/blog/2016/10/10/what-even-is-a-container/ https://github.com/p8952/bocker as a firm required to care about infosec, we appreciate the stance in their (2). and MacOS VMs are so fast now, they might as well be containers except, you know, they work. (if not fast, that should be fixed.) that said, yes, running local minikube and the like remain incredibly useful for mocking container envs where the whole environment is inside a machine(s) boundary. containers are _almost_ as awesome as bookcases…
In Anthropic Cowork feature creates 10GB VM bundle on macOS without warning
The core of docker needs to be free. The docker registry can charge corporate customers for storage and such, but besides being the default registry, there's not much money there because it's a commodity service, not anything unique. There's just not much money to be made there, especially considering that docker is a pretty thin wrapper built on top of a bunch of other free technology. When somebody can make a meaningful (though limited) clone of your core product in 100 lines of bash, you can't make much of a business on top of it [1] Docker suffers from being useful in the open source space but having no reasonable method to make revenue. https://github.com/p8952/bocker
In I ditched Docker for Podman
I found this project to be an interesting POC of how it all actually works. https://github.com/p8952/bocker Basically, it runs docker containers using chroot to prove that it's possible. Docker uses Layered Filesystems (Multiple Filesystems mounted under the same folder on top of one another), something that used to be mostly used when you have a read only Filesystem, like a cdrom, then mount a writeable folder over the same mount point to make that folder writeable. Bocker does a similar mounting of the layers with chroot to run docker containers.
In The chroot Technique – a Swiss army multitool for Linux systems
> But you couldn't reimplement podman in a few hundred lines of code. You don't even need a few hundred: https://github.com/p8952/bocker And then there's 'dokku' which IIRC, started as a bash version of Heroku. > Not all ideas have the same quality. They really do. I've heard all kinds of things in my career, but almost none I would want to dedicate a portion of my life building. Not because they are bad ideas or won't work, but because of the person with the idea or it just didn't interest me. Those people went on to be moderately successful (like hundreds of millions worth) but I'm glad I wasn't on that ride.
In The Staff Engineer's Path – Book Review

Showing the 15 most recent of 68 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.