#!/bin/bash
####################################
# @description 一键重命名镜像并推送到指定仓库中
# @params $? => 代表上一个命令执行后的退出状态: 0->成功,1->失败
# @example => sh docker-rename-push-images.sh
####################################
# 在执行过程中若遇到使用了未定义的变量或命令返回值为非零,将直接报错退出
set -eu
# TODO 根据自己的需求进行替换...
# 源镜像
images=(
mysql:5.7
nacos-server:2.0.3
)
# 源镜像仓库
source_image_registry_prefix="registry.cn-hangzhou.aliyuncs.com/zhengqing/"
# 目标镜像仓库
target_image_registry_prefix="registry.cn-hangzhou.aliyuncs.com/zhengqing/test-"
# 循环
for image_name in ${images[@]} ; do
echo "********************************************************************"
# 拉取源镜像
docker pull ${source_image_registry_prefix}${image_name}
# 重命名镜像
docker tag ${source_image_registry_prefix}${image_name} ${target_image_registry_prefix}${image_name}
# 推送镜像
docker push ${target_image_registry_prefix}${image_name}
echo "*** [√] ${target_image_registry_prefix}${image_name}"
done
echo "finish ..."