by hks0 on 11/24/24, 6:53 AM
I did something (slightly) similar via proot, called Bag [1], which I must have
not described as a docker alternative: It has nothing to do with cgroups, and the cli deviates from that of docker's.
The backstory: To bypass internet censorship and deep packet inspection, I had written a proxy chain solution masquerading itself as plain html traffic. I needed it constantly running everywhere I went, but I didn't want to port it to a native android app. I wanted to run it through termux and at the time termux had no jdk/jre. Proot could spawn a archlinux env and there indeed was a jdk available.
The arch env within termux turned out to be generally more suitable for all tasks. Creating and destroying ephemeral envs with different setups and prooting into them to just run a single command is easily automated with a script; I named it bag.sh, a drastically smaller form of a shipping container.
Funny bag.sh also has a roadmap/todo in there untouched for 5 years! It's written on mobile screen hence mostly formatted to 40 columns lines to fit on the display without scrolling.
[1]: https://github.com/hkoosha/bag
by random3 on 11/24/24, 1:51 AM
I love these. Been a fan of minimal bash stuff.
Here's a proof of concept for a intra-cluster load balancer in 40 lines of bash done during a hackathon I organized to promote distributed infra with Docker, Mesos, etc. about a decade ago
https://github.com/cell-os/metal-cell/blob/master/discovery/...I likely lost it, but I had a redundand and distributed reverse SSH tunnel based colo-to-cloud transfer tool.
Shell Fu and others have good collections of these https://www.shell-fu.org/
by mschuster91 on 11/24/24, 12:42 AM
The fact how simple it is to re-implement a large part of Docker because all it fundamentally is a bit of glue code to the kernel is the biggest problem Docker-the-company faced and still faces.
Where Docker adds real value is not (just) Docker Hub but Docker for Windows and Mac. The integrations offer a vastly superior experience than messing around with VirtualBox and Vagrant by hand (been there, done that) to achieve running Docker on one's development machine.
by Neywiny on 11/24/24, 4:55 AM
I like when repos say "not implemented yet" or "to-do" or "working on" and the last commit was years ago. Makes me feel better about not going back to my to-dos I drop through my code. (Not meaning to throw shade on this author, just finding it comforting)
by mythz on 11/24/24, 3:53 AM
Surprised no one's mentioned lazydocker as a great alternative for Docker Desktop (on Linux/macOS/Windows) [1].
It's a fairly full-featured Terminal UI that has the benefit of running over ssh:
[1] https://github.com/jesseduffield/lazydocker
by darkwater on 11/24/24, 11:27 AM
I wonder why Bocker makes the frontpage so often. Is Docker still that controversial even in 2024? Why people don't recognize that it actually brought something useful (mainly, software distribution and easy of "run everywhere") to the table?
by sellmesoap on 11/24/24, 8:02 AM
A brother from another mother:
https://bastillebsd.org/ Bastille manages jails using shell with many of the same constructs you'd find in docker. I like it over other jail management software in BSD because it has so few dependencies.
by MathMonkeyMan on 11/24/24, 5:05 PM
> 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.
Careful. The default installation prefix is /usr/bin, and the install will happily clobber your mount command with one that requires a library that doesn't exist. Then next time you boot, the kernel will mount the file system read-only.
by aussieguy1234 on 11/24/24, 5:37 AM
While not good for daily driving, this gives you an idea on what docker is and how it works.
On Linux, docker is basically fancy chroot.
by ffk on 11/24/24, 4:04 PM
Fun fact: docker started as bash, then moved to python before settling on golang.
Also, in a 2013 docker meetup, someone wrote a docker clone in bash.
People want to learn! Hopefully things like this help them.
by nedt on 11/24/24, 8:42 PM
Two years ago I gave a presentation on how docker works under the hood. After trying to understand docker, moby and containerd and how they interact I was so happy to find Bocker. Pretty much show how it can be done while showing enough of the magic moves that docker itself is actually doing. Bocker is cups&balls with clear plastic cups by Penn and Teller for docker.
by oneeyedpigeon on 11/24/24, 9:28 AM
If the author happens to see this: the link to your homepage on GitHub is broken - drop the "www."
by xyst on 11/24/24, 3:52 PM
This was written in 2015, I think we can get this down to 69 lines or less in brainfuck
by noctane on 11/24/24, 9:12 AM
Practicality aside, there seems to be a lot we can learn from the implementation.
by kondro on 11/24/24, 3:49 AM
Isn’t this how Docker started?
by amelius on 11/24/24, 1:58 AM
Does it require root access to the machine I have a user account on?
by zoobab on 11/26/24, 3:32 PM
I am looking for a bash script that can pull docker images (via curl) and run them via chroot.
I don't need a seperate network nor process isolation.
by yeldarb on 11/24/24, 2:36 AM
Is there any Docker alternative on Mac that can utilize the MPS device in a container? ML stuff is many times slower in a container on my Mac than running outside
by WanderPanda on 11/24/24, 4:45 AM
Makes me wonder why docker still didn't make it to the ubuntu/debian repositories. Would be such an easy net benefit
by dcreater on 11/24/24, 1:29 AM
Very interesting. With how standard containerization has become, we sorely need an FOSS solution
by yalogin on 11/24/24, 3:27 AM
Is the original docker just a script? Have they not added anything to the container story themselves?