docker快捷打包脚本(ai版)

直接进入主题:

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

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

bash 复制代码
#!/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-]+)$ ]]; then
        image_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 守护进程正在运行,并且有足够的磁盘空间来存储这些镜像文件。

相关推荐
李少兄22 分钟前
Linux 服务器从零部署 kkFileView 完全指南(Docker 方案)
linux·服务器·docker
2301_旺仔28 分钟前
【Docker 镜像仓库】
docker·云原生·仓库
2401_8346369934 分钟前
Docker 容器化技术全解:从镜像构建到容器编排的完整教案1
java·docker·容器
^酸酸37 分钟前
Prometheus 监控架构部署实战:二进制与 Docker 双方案
docker·架构·prometheus
青 春 记 忆9 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
Java王小怪11 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
AKCJDJ12 小时前
k8s的管理及控制器管理
云原生·容器·kubernetes
灰阳阳12 小时前
Docker-数据卷命令解析
java·docker·eureka
SCandL15212 小时前
k8s service
linux·容器·kubernetes
zhangfeng113314 小时前
AMD Instinct MI50(gfx906)上为 Qwen 系列模型优化并可用的 vLLM 相关仓库、Docker 镜像与实践指南。
人工智能·docker·ai编程·qwen·算子开发·vllm·mi50