Nix2container: another `dockerTools.buildImage` implementation based on Skopeo

nix2container is a Go implementation of our dockerTools functions. The main difference is that it relies on Skopeo to produce images: thanks to Skopeo, we don’t have to re-implement all image creation mechanisms.

Another difference is the buildLayer function, allowing to manually isolate some dependencies into their own layers: these layers don’t need to be rebuilt nor repushed (see this example): the objective is to speed up image loading times during application development cycles.

For instance, to load and run a bash image into podman,

$ nix run github:nlewo/nix2container#examples.bash.copyToPodman
$ podman run -it bash

You can find more information in the nix2container homepage and in a blog post (already discussed here) presenting the idea behind this project.

Even if nix2container is still in progress, it can already be used to build your OCI images. The main next step of this project will be to submit our Skopeo patch upstream!

9 Likes