今天在做 kubernetes 搭建的时候,拉取一些基础镜像(例如 busybox 之类的)一直拉不下来,就想着搭建一个本地 Harbor 仓库来存放镜像,但是把本地镜像全部上传到Harbor仓库上比较繁琐,就研究了一下 for 循环,看能不能简单一点

这个是给镜像打标签,然后上传到 Harbor,最后删除本地镜像(不然占用空间)

1
2
3
4
5
6
for i in `docker images | tail -n +2 | awk '{print $1,$2}' | tr -s ' ' ':'`
do
docker tag $i 192.168.1.100/library/`basename $i`
docker push 192.168.1.100/library/`basename $i`
docker rmi $i
done

这个呢,就是在完善上面的循环时出了岔子,先删除

想凑点字数

1
2
3
4
for i in `docker images | grep 192.168.1.100 | awk '{print $1,$2}' | tr -s ' ' ':'`
do
docker rmi $i
done