欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > docker快捷打包脚本(ai版)

docker快捷打包脚本(ai版)

2025/4/15 13:00:15 来源:https://blog.csdn.net/weixin_45969972/article/details/147073727  浏览:    关键词:docker快捷打包脚本(ai版)

直接进入主题:

用这个脚本前提是你本地可以拉镜像仓库的镜像,并且在

本地有了,然后将所有的镜像tag写在一个文件中,和下面docker_tags.txt 对应,文件叫什么,脚本里对应改什么,给小白说的

#!/bin/bash# 假设 Docker 镜像标签存储在 docker_tags.txt 文件中
TAGS_FILE="docker_tags.txt"
# 输出目录
OUTPUT_DIR="docker_images"# 创建输出目录,如果不存在
mkdir -p "$OUTPUT_DIR"# 读取文件中的每一行
while IFS= read -r line; do# 使用正则表达式提取镜像名和标签if [[ $line =~ ^([a-zA-Z0-9.-]+/devops/[a-zA-Z0-9-]+):([a-zA-Z0-9-]+)$ ]]; thenimage_name=${BASH_REMATCH[1]}tag=${BASH_REMATCH[2]}# 构建镜像的完整名称full_image_name="${image_name}:${tag}"# 输出文件名output_file="${OUTPUT_DIR}/${image_name//\//_}:${tag}.tar.gz"# 使用 docker save 保存镜像echo "保存镜像: $full_image_name$output_file"docker save -o "$output_file" "$full_image_name"fi
done < "$TAGS_FILE"

赋权并执行脚本既可,

这个脚本做了以下几件事:

读取 docker_tags.txt 文件中的每一行。 使用正则表达式提取 Docker 镜像的名称和标签。
构建镜像的完整名称(包括仓库地址、镜像名和标签)。 为每个镜像生成一个唯一的输出文件名,避免文件名冲突。 使用 docker save
命令将每个镜像保存为 .tar.gz 格式的文件到指定的输出目录中。 确保在运行此脚本之前,你已经登录了 Docker
仓库,并且有权限拉取这些镜像。如果镜像存储在私有仓库中,可能需要使用 docker login 命令登录到相应的 Docker
仓库。同时,确保你的 Docker 守护进程正在运行,并且有足够的磁盘空间来存储这些镜像文件。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词