It's surprisingly easy to build an image without Docker or any other "high-level" runtime - thanks to BuildKit (a daemon) and buildctl (its CLI client).