如何一次从docker回购所有docker集装箱图像?
我有一个私人docker回购,我有10个容器图像存储。 我想把所有图像拖到一台机器上。 有没有一种方法,我可以从一个单一的命令从回购所有图像? 一些命令就像
docker pull xx.xx.com/reponame/*
在研究中,我find了拉取单个图像的所有标签的方法; 但到目前为止在所有图像上没有运气
不知道什么types的命令是单一命令,单线?
for repo in repo1 repo2 repo3; do docker pull xx.xx.com/$repo; done
可以用docker-compose
“破解”这个。
# docker-compose.yml version: '3.1' services: a: image: a-image b: image: b-image c: image: c-image # .....
docker-compose pull --parallel
简单。
安装jq来parsingJSON,编辑REGISTRYvariables并运行这个脚本:
#!/bin/sh REGISTRY="http://registry:5000" for repo in $(curl -s $REGISTRY/v2/_catalog | jq -r '.repositories[]') ; do for tag in $(curl -s $REGISTRY/v2/$repo/tags/list | jq -r '.tags[]') ; do docker pull $REGISTRY/$repo:$tag done done
有关DockerregistryAPI的详细信息: https : //github.com/docker/distribution/blob/master/docs/spec/api.md