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

将docker容器打包为.tar包

1. 创建打包脚本

#!/bin/bash
# 设置 -e 使得脚本在遇到错误时停止执行
set -e# ============================== 必要的参数 ==============================
exported_container_name="needed_export_container_name_or_id"  # 需要被导出的容器的名称或id
image_save_name="my_custom_image_name:v25.03.03"  # 镜像需要保存的名字和版本号
tar_save_path="./my_custom_image.tar"  # 镜像的tar保存路径
# ========================================================================# 生成基于时间的随机文件夹名
temp_file="tempfile_"$(date +%Y%m%d_%H%M%S.tar)# 在宿主机导出容器文件
echo "[INFO] Step 1/4: Export container..."
docker export "$exported_container_name" > "$temp_file"
echo "[INFO] Step 1/4: Export container completed! "
echo ""# 将容器文件变为镜像
echo "[INFO] Step 2/4: Import image..."
docker import "$temp_file" "$image_save_name"
echo "[INFO] Step 2/4: Import image completed!"
echo ""# 将镜像保存为tar包
echo "[INFO] Step 3/4: Save image..."
docker save -o "$tar_save_path" "$image_save_name"
echo "[INFO] Step 3/4: Save image completed!"
echo ""# 删除多余的tar包
echo "[INFO] Step 4/4: Cleanup temporary files..."
if [ -f "$temp_file" ]; thenrm "$temp_file"echo "[INFO] Step 4/4: Temporary files cleaned up!"
elseecho "[WARNING] Temporary file does not exist, skipping deletion."
fi
echo ""echo "[INFO] The image has been saved in $tar_save_path"docker rmi "$image_save_name"echo "[INFO] The image named $image_save_name has been deleted!"

这里需要注意三个变量需要修改:

  • exported_container_name:需要被导出的容器的名称或id
  • image_save_name:镜像需要保存的名字和版本号
  • tar_save_path:生成的镜像.tar文件保存路径

2. 开始执行

3. 验证.tar包是否可以正常加载为镜像

首先确定我们的要加载的镜像没有存在

docker images

之后我们开始加载镜像:

# 语法
docker load -i <刚才我们打包好的tar包>

4. 验证加载的镜像是否可以正常创建容器

docker run -it --name <容器的名称> <镜像命令:版本/镜像id>
# 示例
docker run -it --name <容器的名称>

相关文章:

将docker容器打包为.tar包

1. 创建打包脚本 #!/bin/bash # 设置 -e 使得脚本在遇到错误时停止执行 set -e# 必要的参数 exported_container_name"needed_export_container_name_or_id" # 需要被导出的容器的名称或id image_save_name"my_custom_image_name:v25.03.03" # 镜像需…...

SYSTEM文件夹下的文件

sys文件夹下的.c和.h文件里的函数 最重要的倒数第二个 deley文件夹下的.c和.h文件 Systick工作原理 系统滴答定时器是在内核里的 每来一个时钟信号&#xff0c;计数器减一 F1系列时钟源是HCLK&#xff08;就是AHB总线上的时钟信号&#xff09; Systick控制寄存器 Systick重装…...

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks KDD22 推荐指数&#xff1a;#paper/⭐⭐#​ 动机 本文探讨了图神经网络&#xff08;GNN&#xff09;在迁移学习中“预训练-微调”框架的局限性及改进方向。现有方法通过预训练&#xff08…...

【SegRNN 源码理解】PMF的多步并行预测

位置编码 elif self.dec_way "pmf":if self.channel_id:# m,d//2 -> 1,m,d//2 -> c,m,d//2# c,d//2 -> c,1,d//2 -> c,m,d//2# c,m,d -> cm,1,d -> bcm, 1, dpos_emb torch.cat([self.pos_emb.unsqueeze(0).repeat(self.enc_in, 1, 1),self.cha…...

构建自己的AI客服【根据用户输入生成EL表达式】

要实现一个基于对话形式的AI客服系统&#xff0c;该系统能够提示用户输入必要的信息&#xff0c;并根据用户的输入生成相应的EL&#xff08;Expression Language&#xff09;表达式编排规则&#xff0c;您可以按照以下步骤进行设计和开发。本文将涵盖系统架构设计、关键技术选型…...

(50)[HGAME 2023 week2]before_main

[HGAME 2023 week2]before_main nss:3501 我们进入那个sub_12EB然后我们发现这个就是base64加密 我们取得qword_4020: 0CxWsOemvJq4zdk2V6QlArj9wnHbt1NfEX/3DhyPoBRLY8pK5FciZau7UMIgTSG 很显然这个是自定义映射base64.然后我们代入我们之前写的base64自定义映射代码 enc:A…...

机器学习数学基础:39.样本和隐含和残差协方差矩阵

假设我们研究学生的数学成绩、英语成绩和学习时间之间的关系。收集了100名学生这三项数据作为样本。 样本协方差矩阵 计算得到的样本协方差矩阵如下&#xff08;假设数据简化&#xff09;&#xff1a; [ V a r ( 数学 ) C o v ( 数学 , 英语 ) C o v ( 数学 , 学习时间 ) C …...

java之http传MultipartFile文件

【需求】前端请求后端做文件上传或者excel上传&#xff0c;后端不解析直接把MultipartFile传给第三方平台&#xff0c;通过http的方式该怎么写 import org.springframework.web.multipart.MultipartFile;import java.io.*; import java.net.HttpURLConnection; import java.ne…...

深入解析SpringMVC中Http响应的实现机制

在Web应用开发中&#xff0c;处理HTTP请求并返回相应的HTTP响应是核心任务之一。SpringMVC作为Java生态中广泛使用的Web框架&#xff0c;提供了灵活且强大的机制来处理HTTP请求和生成HTTP响应。本文将深入探讨SpringMVC中如何实现HTTP响应的返回&#xff0c;涵盖从控制器方法的…...

构建一个支持精度、范围和负数的-Vue-数字输入框

分析并实现一个支持精度、范围和负数控制的数字输入框。 背景 在很多业务中&#xff0c;我们经常需要使用数字输入框&#xff0c;通常这些输入框会涉及到数字校验&#xff0c;比如限制输入范围、设置小数精度、是否允许负数等。每次写表单时&#xff0c;都需要重复定义这些校…...

尚硅谷爬虫note14

一、scrapy scrapy&#xff1a;为爬取网站数据是&#xff0c;提取结构性数据而编写的应用框架 1. 安装 pip install scrapy 或者&#xff0c;国内源安装 pip install scrapy -i https&#xff1a;//pypi.douban.com/simple 2. 报错 报错1&#xff09;building ‘twisted.te…...

1438. 绝对差不超过限制的最长连续子数组

目录 一、题目二、思路2.1 解题思路2.2 代码尝试2.3 疑难问题2.4 代码复盘 三、解法四、收获4.1 心得4.2 举一反三 一、题目 二、思路 2.1 解题思路 滑动窗口 2.2 代码尝试 class Solution { public:int longestSubarray(vector<int>& nums, int limit) {int cou…...

ZCC5090EA适用于TYPE-C接口,集成30V OVP功能, 最大1.5A充电电流,带NTC及使能功能,双节锂电升压充电芯片替代CS5090EA

概要&#xff1a; ZCC5090EA是一款5V输入&#xff0c;最大1.5A充电电流&#xff0c;支 持双 节 锂 电 池 串 联 应 用 的 升 压 充 电 管 理 I C 。ZCC5090EA集成功率MOS&#xff0c;采用异步开关架构&#xff0c; 使其在应用时仅需极少的外围器件&#xff0c;可有效减少整体 …...

Dify 开源大语言模型应用开发平台使用(二)

文章目录 说明Dify 使用报告1. 应用创建——专业的锂电池相关知识解答1.1 平台简介1.2 创建应用 2. 知识库、工作流、变量、节点与编排节点详解2.1 知识库管理2.2 工作流配置2.3 变量管理2.4 节点与编排节点 3. 测试和调试3.1 单元测试3.2 日志与监控3.3 实时调试3.4 性能测试 …...

【LangFuse】数据集与测试

1. 在线标注 2. 上传已有数据集 import json# 调整数据格式 {"input":{...},"expected_output":"label"} data [] with open(my_annotations.jsonl, r, encodingutf-8) as fp:for line in fp:example json.loads(line.strip())item {"i…...

【Python】如何解决Jupyter Notebook修改外部模块后必须重启内核的问题?

“为什么我修改了Python模块的代码&#xff0c;Jupyter Notebook却看不到变化&#xff1f;” 一、问题现象&#xff1a;令人抓狂的开发体验 假设你正在开发一个图像处理项目&#xff0c;项目结构如下&#xff1a; project/ ├── utils/ │ └── image_processor.py └…...

Redis 篇

一、数据结构 二、持久化方式 Redis 提供了两种主要的持久化方式&#xff0c;分别是 RDB&#xff08;Redis Database&#xff09;和 AOF&#xff08;Append Only File&#xff09;&#xff0c;此外&#xff0c;还可以同时使用这两种方式以增强数据安全性&#xff0c;以下为你…...

React + TypeScript 实战指南:用类型守护你的组件

TypeScript 为 React 开发带来了强大的类型安全保障&#xff0c;这里解析常见的一些TS写法&#xff1a; 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…...

从零开始:Linux环境下如何制作静态库与动态库

个人主页&#xff1a;chian-ocean 文章专栏-Linux 前言 动静态库是编程中两种主要的库类型&#xff0c;它们用于帮助开发者复用已有的代码&#xff0c;而不需要每次都从头开始编写。它们的主要区别在于链接和加载的时机、方式以及使用场景 库 库就是一些已经写好并且经过测试…...

【智能体Agent】ReAct智能体的实现思路和关键技术

基于ReAct&#xff08;Reasoning Acting&#xff09;框架的自主智能体 import re from typing import List, Tuplefrom langchain_community.chat_message_histories.in_memory import ChatMessageHistory from langchain_core.language_models.chat_models import BaseChatM…...

别急着跑流程!单细胞测序数据分析前,你的GEO数据真的‘干净’吗?

别急着跑流程&#xff01;单细胞测序数据分析前&#xff0c;你的GEO数据真的‘干净’吗&#xff1f; 当你在GEO数据库中兴奋地找到那个包含1534个样本的单细胞数据集时&#xff0c;是否曾想过——这些看似完美的数据背后可能隐藏着致命的陷阱&#xff1f;许多生信分析者习惯性地…...

OpenClaw远程控制方案:通过nanobot实现安全外网访问

OpenClaw远程控制方案&#xff1a;通过nanobot实现安全外网访问 1. 为什么需要远程控制OpenClaw&#xff1f; 上周我需要出差三天&#xff0c;但电脑上运行的OpenClaw自动化任务突然报错。当时我面临两个选择&#xff1a;要么让任务中断三天&#xff0c;要么冒险把本地网关直…...

【实战】Ubuntu20.04硬盘挂载与权限管理全攻略(从分区合并到ext4格式化)

1. 从Windows迁移到Ubuntu的硬盘处理痛点 刚接触Ubuntu的Windows用户经常会遇到一个头疼问题&#xff1a;原先在Windows下分好区的机械硬盘&#xff0c;在Ubuntu系统里居然"消失"了。这不是硬盘真的不见了&#xff0c;而是Linux系统对NTFS分区的识别机制不同。我去年…...

Nacos集群启动时,那个神秘的cluster.conf文件到底是怎么被找到和监控的?

Nacos集群启动时cluster.conf文件的寻址与监控机制深度解析 从一次集群配置失效事件说起 上周深夜&#xff0c;我们的分布式系统监控平台突然发出警报——Nacos集群中的三个节点相继失联。紧急排查时发现&#xff0c;明明已经更新了cluster.conf文件新增了两个节点&#xff0c;…...

避开这些坑!Sigma-Delta调制器设计中最容易忽略的5个稳定性问题(附MASH级联实测数据)

避开这些坑&#xff01;Sigma-Delta调制器设计中最容易忽略的5个稳定性问题&#xff08;附MASH级联实测数据&#xff09; 在高速高精度ADC设计中&#xff0c;Sigma-Delta调制器因其优异的噪声整形特性成为首选方案。但当工程师们沉浸在理论计算的理想世界时&#xff0c;实验室示…...

LongCat-Image-Edit图片编辑神器:5分钟快速部署,一句话精准改图

LongCat-Image-Edit图片编辑神器&#xff1a;5分钟快速部署&#xff0c;一句话精准改图 1. 产品核心能力介绍 LongCat-Image-Edit是美团LongCat团队推出的开源图像编辑模型&#xff0c;它让复杂的图片编辑变得像说话一样简单。这个模型有三大杀手锏&#xff1a; 一句话精准编…...

从if-else到assign:聊聊RTL代码风格如何影响X态传播与电路质量

从if-else到assign&#xff1a;RTL代码风格对X态传播与电路质量的深层影响 在数字IC设计领域&#xff0c;X态就像电路中的"幽灵信号"&#xff0c;它无声无息地潜伏在设计中&#xff0c;直到某个关键时刻突然显现&#xff0c;引发难以追踪的异常行为。对于RTL工程师而…...

RWKV7-1.5B-g1a保姆级部署教程:离线加载+免外网依赖,中小企业AI落地首选

RWKV7-1.5B-g1a保姆级部署教程&#xff1a;离线加载免外网依赖&#xff0c;中小企业AI落地首选 1. 模型简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的多语言文本生成模型&#xff0c;专为中小企业AI落地场景优化设计。这个1.5B参数的轻量级模型在保持高质量生成能力的同时…...

基于springboot运动服装销售系统设计与开发(源码+精品论文+答辩PPT等资料)

博主介绍&#xff1a;CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交…...

Vision-Agents:构建下一代实时视觉AI代理的终极指南

Vision-Agents&#xff1a;构建下一代实时视觉AI代理的终极指南 【免费下载链接】Vision-Agents Open Vision Agents by Stream. Build Vision Agents quickly with any model or video provider. Uses Streams edge network for ultra-low latency. 项目地址: https://gitco…...