备份还原 本地所有的Docker 镜像并且在另一台机器上还原

2024-09-06 20:36

本文主要是介绍备份还原 本地所有的Docker 镜像并且在另一台机器上还原,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

备份命令 并且显示进度 backup_docker_images.sh

sudo yum install jq
chmod +x backup_docker_images.sh
sudo ./backup_docker_images.sh
#!/bin/bash# 指定备份目录
backup_dir="/app/dockerImageBackup/Images"# 创建备份目录,如果不存在的话
mkdir -p $backup_dir# 获取所有镜像的 ID
image_ids=$(docker images -q)# 计算镜像的总数
total_images=$(echo $image_ids | wc -w)# 初始化进度计数器
current_image=1# 遍历每个镜像
for image_id in $image_ids
do# 获取镜像的所有信息image_info=$(docker inspect $image_id)# 获取镜像的名字和标签image_names=$(echo $image_info | jq -r '.[0].RepoTags | join(",")')# 如果镜像没有名字或标签,尝试从 RepoDigests 获取if [ "$image_names" == "null" ]; thenimage_names=$(echo $image_info | jq -r '.[0].RepoDigests[0]' | cut -d '@' -f1)fi# 使用 ID 作为文件名image_file="$image_id.tar"# 打印开始保存的信息echo "Saving image $current_image of $total_images: $image_file"# 保存镜像到文件docker save $image_id -o "$backup_dir/$image_file"# 保存镜像信息到文件echo $image_info > "$backup_dir/$image_id.json"# 打印完成保存的信息echo "Saved image $current_image of $total_images: $image_file"# 更新进度计数器current_image=$((current_image + 1))
done

还原所有的镜像

tar -czf /path/to/app.tar.gz /app
tar -xzf app.tar.gz -C /app -p


 

chmod +x load_docker_images.sh
sudo ./load_docker_images.sh
#!/bin/bash# 指定备份目录
backup_dir="/app/dockerImageBackup/Images"# 遍历备份目录下的所有 .tar 文件
for tar_file in $backup_dir/*.tar
do# 获取镜像的 IDimage_id=$(basename $tar_file .tar)# 打印开始加载的信息echo "Loading image: $image_id"# 加载镜像docker load -i $tar_file# 打印完成加载的信息echo "Loaded image: $image_id"# 获取镜像的详细信息image_info=$(cat "$backup_dir/$image_id.json")# 获取镜像的名字和标签image_names=$(echo $image_info | jq -r '.[0].RepoTags | join(",")')# 如果镜像没有名字或标签,尝试从 RepoDigests 获取if [ -z "$image_names" ]; thenecho "Image names is null, trying to get from RepoDigests..."image_names=$(echo $image_info | jq -r '.[0].RepoDigests[0]' | cut -d '@' -f1)echo "Image names from RepoDigests: $image_names"fi# 使用 docker tag 为镜像添加名字和标签for image_name in $(echo $image_names | tr "," "\n")dodocker tag $image_id $image_nameecho "Tagged image: $image_id as $image_name"done
done
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

这篇关于备份还原 本地所有的Docker 镜像并且在另一台机器上还原的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143053

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4