shell 脚本批量导入、导出docker images

  • 目录: 需要将运行中的docker 容器批量出,并在新的主机上批量导入。
  1. 创建批量导出脚本 export_docker_images.sh
#!/bin/bash# 检查 Docker 是否在运行
if ! docker info > /dev/null 2>&1; thenecho "Docker 似乎没有运行。请确保 Docker 正在运行。"exit 1
fi# 获取所有正在运行的容器 ID
container_ids=$(docker ps -q)if [ -z "$container_ids" ]; thenecho "没有运行中的 Docker 容器。"exit 0
fi# 导出每个容器的镜像
for container_id in $container_ids; do# 获取镜像名称image_name=$(docker inspect --format='{{.Config.Image}}' $container_id)# 设置导出文件的名称# 使用容器ID和镜像名称防止重复output_file="${container_id}_$(echo $image_name | sed 's/[^a-zA-Z0-9_.-]/_/g').tar"echo "导出镜像 $image_name 到文件 $output_file..."# 导出镜像docker save -o "$output_file" "$image_name"if [ $? -eq 0 ]; thenecho "镜像 $image_name 成功导出到 $output_file"elseecho "导出镜像 $image_name$output_file 失败"fi
doneecho "所有运行中的容器镜像已导出完毕。"
  1. 给脚本添加执行权限:
chmod +x export_docker_images.sh
  1. 运行脚本:
./export_docker_images.sh
  1. 创建批量导入脚本import_docker_images.sh
#!/bin/bash# 镜像文件存放目录
image_dir="./images"# 检查目录是否存在
if [ ! -d "$image_dir" ]; thenecho "目录 $image_dir 不存在。请确保镜像文件存放在正确的目录。"exit 1
fi# 获取目录中所有 tar 文件
image_files=$(ls "$image_dir"/*.tar 2> /dev/null)# 检查目录中是否有 tar 文件
if [ -z "$image_files" ]; thenecho "目录 $image_dir 中没有找到任何 tar 文件。"exit 0
fi# 导入每个 tar 文件
for image_file in $image_files; doecho "正在导入镜像文件 $image_file..."# 导入镜像docker load -i "$image_file"if [ $? -eq 0 ]; thenecho "镜像文件 $image_file 导入成功"elseecho "镜像文件 $image_file 导入失败"fi
doneecho "所有镜像文件已导入完毕。"
  1. 给脚本添加执行权限:
chmod +x import_docker_images.sh
  1. 运行脚本:
./import_docker_images.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MEME使用-motif分析(生物信息学工具-24)

01 背景 Motif分析是一种在生物信息学和计算生物学中广泛应用的技术,用于识别DNA、RNA或蛋白质序列中具有生物学功能的短保守序列模式(motif)。这些motif通常与特定的生物学功能相关,如DNA中的转录因子结合位点、RNA中的剪接位点…

最新Springboot小程序医院核酸检测服务系统

采用技术 最新Springboot小程序医院核酸检测服务系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员页面 医护人员管理 普通管理员管理 接种进…

稳定安全生产设备日志采集工具

免费试用下载: Gitee下载 最新版本 优势: A. 开箱即用. 解压直接运行.不需额外安装. B. 批管理设备. 设备配置均在后台管理. C. 无人值守 客户端自启动,自更新. D. 稳定安全. 架构简单,内存占用小,通过授权访问.

vector oj题 和 位运算

知识点1: lowbit(x) 简介:众所周知,lowbit()操作是算法竞赛中的高级技巧,特别是高级数据结构,线段树的核心,还有什么二进制与位运算题目,而本文就用最通俗易懂的话,来教会大家lowbi…

mysql手工命令备份与自动备份

1、手工备份数据库数据 进入命令目录:cd /usr/local/mysql/bin,确保该目录下有mysqldump 然后在命令行 输入 mysqldump -u root -p dbname > dbname_backup_20240612.sql 注意,这里的dbname 是指你想要备份的数据库的名字。 通过这个命…

go-zero 安装

1.安装goctl 工具 go install github.com/zeromicro/go-zero/tools/goctllatest 2.安装protoc goctl env check --install --verbose --force 3.创建项目总目录 gozero_stusy (此目录为总目录,下面有多个服务,每个服务一个目录 比如 use…

【MySQL系列】MySQL 字符集的演变与选择

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

[信号与系统]有关滤波器的一些知识背景

前言 最近在看FIR和IIR,本文作为前置,需要在理解这两种滤波器之前阅读。 本文内容会详细讲述一下有关滤波器的技术要求。 选频滤波器的频率响应 选频滤波器(Selective Frequency Filter)的频率响应是描述该滤波器在不同频率下…

配置yum本地源脚本

在应对无网络或者其它特殊情况下,使用本地yum源 ①查看Linux系统版本,不同的版本yum仓库的挂载路径有所不同 > 以repodata所在目录为准 ②将光盘挂载到手动挂载点/mnt下面 ③将原有yum源仓库进行迁移备份 ④配置本地yum源仓库信息并初始化 #!/us…

中国企业数字化转型现状、趋势和挑战

一、来自不同行业、不同所有制的145家企业的调查 为了了解中国企业数字化转型的现状、趋势和挑战,2022年我们完成了一次在线问卷调查。 受访企业达145家,国内企业111家,占比77%(其中央企占总比例51%),民营…

【数据结构与算法(C语言)】离散事件模拟- 单链表和队列的混合实际应用

目录 1. 前言2. 流程图3. 数据结构3.1 单链表3.2 链式队列 4. 核心函数4.1 银行业务模拟 void BankSimulation()4.2 初始化 void OpenForDay()4.3 客户到达 void CustomerArrived(Event en)4.4 客户离开 void CustomerArrived(Event en) 5. 非核心函数5.1 新建客户 NewCustomer…

滑动窗口(单调栈)

239. 滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums [1,3,-1…

Redis精要

一、什么是缓存击穿、缓存穿透、缓存雪崩? 缓存穿透 【针对大量非法访问的请求,缓存中没有,直接访问DB】 缓存穿透指的查询缓存和数据库中都不存在的数据,这样每次请求直接打到数据库,就好像缓存不存在 一样。 对于系…

JVM-GC-常用调优命令和GC参数

定位问题常用命令 top:查看内存/CPU占用情况top -Hp pid: 查看进程内线程情况jsp:查看java进程情况jstack 线程pid:查看进程内线程信息,一般查看线程状态,判断是否死锁。重点观察:WAITING、BLOCKED的线程,另外查看wait…

移动平均法

移动平均法是一种基于时间序列数据来预测未来值或分析数据趋势的常用方法。它主要用于预测未来一期或几期内公司产品的需求量、公司产能等。以下是对移动平均法的详细解释: 基本原理 移动平均法的基本原理是通过消除时间序列资料中的不规则和其他变动,…

全面的WAS存储权限管理方案,了解一下

WAS存储权限管理通常指的是对Windows Azure Storage(WAS)的存储设备进行权限控制和管理。在企业中,随着数据量的飞速增长,对存储设备的安全性、效率和成本的关注也日益增加。有效的WAS存储权限管理可以确保数据的安全性&#xff0…

UV胶带和UV胶水的应用场景有哪些不同吗?

UV胶带和UV胶水的应用场景有哪些不同吗? UV胶带和UV胶水的应用场景确实存在不同之处,以下是详细的比较和归纳: 一:按使用场景来看: UV胶带的应用场景: 包装行业:UV胶带在包装行业中常用于食品包装、药…

python 格式化字符串的方法

在 Python 中,格式化字符串有多种方法,每种方法都有其独特的优点和适用场景。以下是几种常用的格式化字符串的方法: 1.使用百分号 (%) 运算符 这是 Python 中最早的字符串格式化方式,类似于 C 语言中的 printf。 name "A…

深圳比创达电子|EMC与EMI一站式解决方案:源头到终端的全面防护

随着电子技术的飞速发展,电磁兼容性(EMC)和电磁干扰(EMI)问题日益成为产品研发和生产的关键因素。为了帮助企业更好地应对这些挑战。 一、EMC与EMI的基本概述 电磁兼容性(EMC)是指设备或系统在…

uniswap、pancakeswap、shadowswap、有什么区别

Uniswap、PancakeSwap和ShadowSwap是三个不同的去中心化交易所(Decentralized Exchanges,简称DEXs),它们在各自的区块链生态系统中运作,并且有各自的特点和优势。下面是它们之间的一些主要区别: Uniswap 平…