Docker images 常用shell脚本

编程入门 行业动态 更新时间:2024-10-25 09:40:08

Docker images 常用shell<a href=https://www.elefans.com/category/jswz/34/1771291.html style=脚本"/>

Docker images 常用shell脚本

这个是标题

  • shell脚本学习
    • 1)拉取镜像根据镜像名和tag保存在本地
    • 2) 删除Linux机器本机的镜像
    • 3) docker load并且修改镜像的域名和项目名push到新的harbor

shell脚本学习

1)拉取镜像根据镜像名和tag保存在本地

docker_pull_save.sh.

#!/bin/bash  # 定义镜像列表  
images_list=$(cat "image_list.txt")  # 遍历镜像列表  
for image in $images_list  
do  # 提取镜像名和标签  image_name=$(echo $image | awk -F ':|/' '{print $3}')  image_tag=$(echo $image | awk -F ':|/' '{print $4}')  # 拉取镜像  docker pull "$image"  # 保存镜像到本地目录  docker save -o "$image_name-$image_tag.tar" "$image"docker rmi "$image"
done

其中 image_list示例如下:

harbor.io/project/images_name1:tag1
harbor.io/project/images_name2:tag2

2) 删除Linux机器本机的镜像

#!/bin/bash# 获取所有Docker镜像列表
images=$(docker images)# 对每个镜像进行处理
for image in ${images[@]}; do# 分割镜像名和标签name=$(echo "$image" | awk '{print $1}')tag=$(echo "$image" | awk '{print $2}')# 删除该镜像的全部标签docker rmi -f $name:$tag || true# 删除无标签镜像if [ -z "$tag" ]; thendocker rmi -f $name || truefi
done

3) docker load并且修改镜像的域名和项目名push到新的harbor

#!/bin/bash  # 获取save的镜像包名称 
images_tar_list=$(ls -h |grep tar.gz)  # 遍历镜像列表  
for image in $images_tar_list
dodocker load -i $image
done# 定义新的镜像harbor和项目
new_harbor="new_harbor.io/new_project/"
# 获取镜像名和tag
images_tag_push_list=($(docker images |grep tag | awk '{print $1":"$2'}))# 遍历镜像列表  
for image in "${images_tag_push_list[@]}"
do  # 提取镜像名和标签  image_name=$(echo $image | awk -F ':|/' '{print $3}')  image_tag=$(echo $image | awk -F ':|/' '{print $4}')  new_image=$new_harbor$image_name:$image_tag# 打tag docker tag "$image"  $new_image# 推送镜像docker push $new_image# 删除拉取的镜像docker rmi $new_imagedocker rmi "$image"
done

更多推荐

Docker images 常用shell脚本

本文发布于:2023-11-17 04:45:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:脚本   常用   Docker   images   shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!