linbit/prestomanifesto
create multi architecture docker registries
114
This is an opinionated tool to generate multi-arch docker registries.
https
~/.docker/config.json
(i.e., docker login $domain
) was successfully executed.$domain/$arch/$image:$tag
, where $arch
is arbitrary, but usually something like amd64
, ppc64le
,...)prestomanifesto
(concurrently) crawls a registry and checks if the top-level manifest list (i.e.,
$domain/$image:$tag
) consists of all matching architecture images/tags (i.e., $domain/$arch/$image:$tag
for all $arch
). It does that for all repositories.
If a top-level manifest needs update, the commands to update are executed or printed on stdout
.
prestomanifesto -dry-run $domain
$ prestomanifesto registry.io
docker manifest create --insecure --amend registry.io/rck:latest registry.io/s390x/rck:latest registry.io/amd64/rck:latest
docker manifest push --insecure registry.io/rck:latest
This requires two bind mounts:
docker.json
that contains the credentials for registrydocker run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.docker/config.json:/etc/docker/config.json linbit/prestomanifesto -dry-run registry.io
docker pull linbit/prestomanifesto