# doos User-level containers in C++20: overlayfs over the host's `/usr`, `/etc`, `/opt`, user/mount/pid namespaces, networking through slirp4netns. No root at runtime. ``` doos list doos get_or_create [--net slirp|host|none] NAME doos attach [--net slirp|host|none] NAME [-- CMD...] doos delete [--yes] NAME ``` Build: `cmake -S . -B build && cmake --build build`. Test: `tests/run.sh`. Requirements: Linux >= 5.11, `slirp4netns` for the default network mode. On Ubuntu 24.04+ install the AppArmor profile once: ``` sudo cp apparmor/doos /etc/apparmor.d/doos && sudo apparmor_parser -r /etc/apparmor.d/doos ``` See `SPEC.md` (behavior, limits) and `docs/RESEARCH.md` (what works, measurements, known gaps).