In some ways, the most exciting thing about Docker isn’t the ability to start containers. That’s been around for a long time in various forms, such as LXC or OpenVZ. What Docker brought to the party was a convenient method of building and distributing the filesystems necessary for running containers. Suddenly, it was easy to build a containerized service and to share it with other people.
I was taking a closer at the systemd-nspawn command, which it
seems has been developing it’s own set of container-related
superpowers recently, including a number of options for setting up the
network environment of a container. Like Docker, systemd-nspawn
needs a filesystem on which to operate, but unlike Docker, there is
no convenient distribution mechanism and no ecosystem of existing
images. In fact, the official documentation seems to assume that
you’ll be building your own from scratch. Ain’t nobody got time for
that…