# Docker container & Cgroup
Docker’s value proposition is convenient. reproducible, self-contained packaging of software. It’s the ability to deploy pieces of existing, battle-tested, gnarly and imperfect software next to each other, and care not about their conflicting or missing dependencies. It’s more like Flatpak or AppImage, only more popular and easy. - HN / The What, Why and How of Containers
This packaging also includes a kind of network insulation, exposing only the desired ports, making it easy to have VLANs between containers that do not interfere, etc. This is, again, not a serious security mechanism, but more of a convenience, but a very valuable convenience.
Docker uses the Linux kernel and features of the kernel, like Cgroups and namespaces, to segregate processes so they can run independently as if they were running on separate system. - What is Docker?
see also:
- Cgroups, namespaces, and beyond: what are containers made from? - linux is already using cgroups
- Docker-compose / swarm
Exposing X11
- x11docker - un GUI applications in Docker ?
Install
Atlernative on Pi should work as well
Or
Test that docker works
Finally check that docker is using overlay2
Convert to overlay2 storage driver
AMD recommends using ‘overlay2’, whose dependencies are met by the ROCm kernel - ROCm
if necessary, see above.
move docker’s default /var/lib/docker to another directory
- need to move /var/lib/docker folder as a whole
- or pass argument to daemon
Edit /etc/docker/daemon.json
Verify that the daemon is using the overlay2 storage driver.
How to completely uninstall docker
- remove docker-compose as well (pip install?)
/etc/docker/daemon.json
Alternatives
- podman - daemonless container engine -
Simply put: alias docker=podman
- containerd - What is Containerd?
- nerdctl - a Docker-compatible CLI for containerd.
- LXC