Docker:将私有仓库registry迁移到企业级仓库harbor

文章目录

  • 一、知识点储备
  • 二、自动化脚本

一、知识点储备


curl
jq
2>

二、自动化脚本


# cat images_migrate.sh 
#!/bin/bash

# 获取镜像名称列表
images_name=`curl 192.27.161.39:5000/v2/_catalog 2>/dev/null| jq  ".repositories[]" | tr -d '"'`

# 迁移
for i in $images_name;
do
        # 获取镜像的tags列表
        tags=`curl 192.27.161.39:5000/v2/$i/tags/list 2>/dev/null | jq ".tags[]" | tr -d '"'`
        # 通过字段拼接,完成镜像迁移
        for t in tags;
        do
                # 下载镜像
                docker pull 192.27.161.39:5000/$i:$t
                # 提前在harbor中创建项目zhongtai
                docker tag 192.27.161.39:5000/$i:$t harbor.local/zhongtai/$i/$t
                # 推送镜像到harbor前,记得docker login(或配置~/.docker/config.json)
                docker push harbor.local/zhongtai/$i/$t
        done
done

你可能感兴趣的:(#,Docker,registry,harbor)