Anyone who has used the
dockerImage.buildImage derivation has this same problem: how do I push these images to the registry?
docker load -i $(nix-build -A my-image --no-out-link) # somehow know the docker image name docker tag $oldname $remotetag docker push $remotetag
This has multiple problems: it takes time to load and unpack the image in docker, it means that docker needs to be running, and it also means that now there is a need for a garbage-collection mechanism for the loaded images.
skopeo copy docker-image://$(nix-build -A my-image --no-out-link) docker://$remotetag
As a bonus, here is a wrapper script that makes the upload a noop if the tag already exists: https://gist.github.com/c106f1007843889d92d6bb115d43b479