使用shell脚本 实现
将docker里的所有images镜像推送至服务器上的harbor指定的仓库里
shell脚本内容如下:
#!/bin/bash
# 设置Harbor仓库的地址和凭据
#harbor服务器地址
HARBOR_URL="192.168.1.55:88"
#用户名
HARBOR_USERNAME="admin"
#登录密码
HARBOR_PASSWORD="Harbor12345"
#指定的harbor仓库名
HARBOR_PROJECT="m55all-images"
# 登录到Harbor仓库
docker login $HARBOR_URL -u $HARBOR_USERNAME -p $HARBOR_PASSWORD
# 获取服务器上的所有Docker镜像列表
images=$(docker images --format "{{.Repository}}:{{.Tag}}")
# 遍历每个镜像并上传到Harbor的m55all-images仓库
for image in $images; do
# 提取镜像的仓库名称和标签
repo=$(echo $image | cut -d':' -f1)
tag=$(echo $image | cut -d':' -f2)
# 构建Harbor仓库中的镜像引用
harbor_image="$HARBOR_URL/$HARBOR_PROJECT/$repo:$tag"
# 重新标记镜像,将其命名为Harbor仓库的地址
docker tag $image $harbor_image
# 上传镜像到Harbor
docker push $harbor_image
echo "镜像 $image 上传至Harbor $HARBOR_PROJECT 仓库成功!"
done
echo "所有Docker镜像上传至Harbor $HARBOR_PROJECT 仓库完成。"
执行脚本即可
注意执行完成后
docker images查看镜像时候 会多出一些没有用的镜像
是因为通过harbor推送镜像时候 将原来所有的镜像都重新打标签了
需要执行下面的命令 将没有用的镜像全部删除
docker image prune --all
标签:harbor,image,HARBOR,images,镜像,docker From: https://www.cnblogs.com/likecoke/p/17491540.html