当前位置: 首页 > news >正文

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

相关文章:

  • Java中的列表(List):操作与实现详解
  • java基础 迭代Iterable接口以及迭代器Iterator
  • 【开题报告+论文+源码】基于springboot的教师评价系统的设计与实现
  • S130N-ISI 全栈方案与云平台深度协同:重构 PLC 开发新范式
  • 设计模式 --- 观察者模式
  • 计算机网络 实验二 VLAN 的配置与应用
  • 【回眸】Linux 内核 (十四)进程间通讯 之 信号量
  • RAGFlow 本地知识库 环境配置
  • java开发环境搭建
  • 关于weaviate的关键词和向量搜索优劣
  • react实现鼠标悬停在SVG地图上某个区域时,其上方呈现柱形图
  • docker部署jenkins并成功自动化部署微服务
  • Linux: network :创建raw socket的时候
  • [GN] sigrokdecode 模块
  • 【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识
  • Python第七章10:异常、模块、包的综合案例
  • 【组件封装-优化】vue+element plus:二次封装select组件,实现下拉列表有分页、自定义是否可搜索的一系列功能
  • Apache Airflow开源程序是一个以编程方式编写、计划和监控工作流程的平台
  • 苹果内购支付 Java 接口
  • 蓝桥杯:日期统计
  • 东莞哪些网络公司做网站比较好/链接下载
  • 龙华三网合一网站建设/重庆电子商务seo
  • 网页美工设计中职期末试卷/seo整站排名
  • 物流网站制作/semir是什么品牌
  • 番禺网站设计公司/平台接广告在哪里接的
  • 企业网站需要什么/今日头条新闻最新