So you want containers without docker? Well here's a systemd project for you! Create a fileystem tree on your machine, and run systemd-nspawn against it, instant container.
So where do you get a fileystem tree from?
Your distro of choice usually has a tool to create one,
debootstrap for debian or
pacstap for arch linux.
The manual also says it accepts OCI bundles,
but as far as I can tell, nothing except
will create one of the correct format.
You can of course,
docker export a running container, untar it, then
to create the
config.json, but that's so much hassle,
and nspawn only accepts a spec version of exactly
If you use
go with containers, you may be familiar with scratch containers,
well it's sort of possible to do the same,
except creating the
usr/bin dir is mandatory (some sort of sanity check),
and nspawn doesn't setup networking for you,
so you'll have to interract with netlink to:
set the link
host0 up and assign it an IP address.
Hope you know how to speak DHCPv4 to get the correct address
(or cheat and type in a routable address in STDIN).