导出/加载镜像(保留分层、标签)和导出/导入容器快照(仅文件系统,丢失镜像历史与标签)。

一、把镜像打包带走(推荐)

适合把一个或多个镜像搬到离线/内网机器,保留分层与标签。

  1. 在源服务器导出(可压缩)
# 单个镜像
docker image save -o myapp_v1.2.tar myrepo/myapp:1.2# 多个镜像一起导出
docker image save -o pack.tar myrepo/myapp:1.2 redis:7-alpine nginx:1.27# 管道压缩(体积更小)
docker image save myrepo/myapp:1.2 | gzip > myapp_v1.2.tar.gz
  1. 传到目标服务器
    任选其一:scp/rsync/U盘等
scp myapp_v1.2.tar.gz user@target:/tmp/
  1. 在目标服务器加载
# 若是压缩包
gunzip /tmp/myapp_v1.2.tar.gz
docker image load -i /tmp/myapp_v1.2.tar# 或者直接管道
gzip -dc /tmp/myapp_v1.2.tar.gz | docker image load
  1. 验证并运行
docker images | grep myapp
docker run --rm myrepo/myapp:1.2 --version

📌 小贴士

  • tar 内已包含标签;加载后会出现同名镜像与标签。若需要改名:

    docker tag myrepo/myapp:1.2 registry.local/myapp:1.2
    
  • 大文件可拆分传输:

    split -b 2G myapp_v1.2.tar myapp.part.
    cat myapp.part.* > myapp_v1.2.tar
    
  • 校验完整性:

    sha256sum myapp_v1.2.tar  # 源与目标对比
    

二、直接通过 SSH “边导边载”(省文件落地)

# 从源机把镜像流式传到目标机并加载
docker image save myrepo/myapp:1.2 | ssh user@target 'docker image load'

三、导出/导入“容器快照”(不是镜像)

如果你想把正在运行或运行过的容器的文件系统(含运行期数据的修改)打包走,用 export/import。注意:这不会保留镜像分层、历史、ENV、CMD 等元数据。

  1. 在源服务器导出容器(先找容器名/ID)
docker ps -a
docker export -o myapp-rootfs.tar CONTAINER_ID_OR_NAME
  1. 传到目标服务器后导入成“新镜像”
docker import myapp-rootfs.tar myapp:from-export
  1. 运行时需自己补齐启动命令/环境变量/端口等:
docker run -e FOO=bar -p 8080:8080 myapp:from-export my_start_cmd --args

四、另一种思路:用镜像仓库同步

如果目标环境能访问源仓库或私有仓库,这是最省事的做法:

# 源机打标签并推送到私有仓库
docker tag myrepo/myapp:1.2 registry.local/myapp:1.2
docker login registry.local
docker push registry.local/myapp:1.2# 目标机拉取
docker login registry.local
docker pull registry.local/myapp:1.2

五、常见问题排查

  • no space left on device:目标机磁盘或 Docker 数据分区不足,清理后重试:

    docker system df
    docker system prune -af    # ⚠ 会删未使用对象,谨慎
    
  • open ... permission denied:确保当前用户能访问 tar 文件路径,必要时用 sudo

  • manifest unknown:从仓库拉取时的标签错误或未推送该标签,先 docker images 核对。

  • SELinux/权限导致加载失败:尝试放到 /tmp 或关闭强制策略测试。

如果你告诉我要搬运的镜像列表、体积和网络情况(能否 SSH/能否访问仓库),我可以按你的场景给一套最省事的命令串。

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

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

相关文章

Ubuntu 系统安装 Miniconda 完整方法与注意事项

一、完整安装步骤 1. 下载 Miniconda 安装包 Miniconda 安装包为 .sh 格式脚本,下载途径分两种: 方式 1:浏览器下载(适合新手) 访问 Miniconda 官方下载页,选择对应系统版本(Ubuntu 选 Miniconda3-latest-Linux-x86_64.sh),默认保存到用户目录的 ~/Downloads 文件夹…

【后端】数据库四大范式详细解析

梳理一下 MySQL(或关系型数据库)中的第一、二、三、四范式,这是数据库设计中非常重要的规范化理论。1️⃣ 第一范式 (1NF:First Normal Form)定义:字段具有原子性,不可再分。数据表中每一列都必须是不可分割…

HarmonyOS后台任务调度:JobScheduler与WorkManager实战指南

本文将深入探讨HarmonyOS 5(API 12)中的后台任务调度机制,重点讲解JobScheduler和WorkManager的使用方法、适用场景及最佳实践,帮助开发者实现高效、智能的后台任务管理。 1. 后台任务调度概述 HarmonyOS提供了两种主要的后台任务…

Prompt工程实践

你在写prompt时候,是不是总觉得大模型它不听话。要么答非所问、要么一堆废话。扒开思考过程仔细阅读时而觉得它聪明绝顶,时而又觉得它愚蠢至极。明明已经对了怎么又推理到错的地方去了,明明在提示词中提醒过了不要这么思考它怎么就瞎想了。这…

基于springboot的毕业旅游一站式定制系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…

输入1.8V~5.5V 输出28V DCDC升压芯片TLV61046A

今天来一款TI的升压芯片TLV61046A。输入电压范围1.8V~5.5V。最高可以输出28V。开关电流980mA,那具体能输出多大的电流就得看输入输出的电压了。以上面的输入3.6V输出12V为例,效率是85%,那最高可以输出的电流就差不多只有200mA左右。封装也是非…

ubuntu22.04源码安装ffmpeg-4.4

# ubuntu22.04源码安装ffmpeg-4.4cd /tmpwget https://ffmpeg.org/releases/ffmpeg-4.4.6.tar.xztar -xvf ffmpeg-4.4.6.tar.xzcd ffmpeg-4.4.6apt updateapt install -y yasm pkg-config libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev libav…

Pyhon中字符串常用的函数

一、字符串的格式化1.format()方法format()是 Python 中用于字符串格式化的方法,通过占位符(如 {})动态插入变量或表达式。name小明 age18 grade99.556245585 information"我是{},今年{}岁了,考试得分:{:.2f}&quo…

小迪安全v2023学习笔记(八十一讲)—— 框架安全ThinkPHPLaravelStruts2SpringBootCVE复现

文章目录前记服务攻防——第八十一天开发框架安全&SpringBoot&Struts2&Laravel&ThinkPHP&CVE复现开发框架 - 常见语言开发框架PHP - 框架安全-Thinkphp&LaravelLaravel漏洞介绍漏洞复现CVE-2021-3129ThinkPHP漏洞介绍漏洞复现CVE-2018-1002015QVD-2022…

从音频到Token:构建原神角色语音识别模型的完整实践

本文将带你从零实现一个基于音频Token化的角色语音识别系统,完整复现原神角色语音分类任务,包含数据处理、模型训练和推理全流程。音频波形通过滑动窗口转换为数值Token序列的过程 一、为什么需要音频Token化? 传统音频处理通常依赖MFCC、频谱…

关于TCP和UDP两种网络协议的区别

1、tcp协议TCP (Transmission Control Protocol - 传输控制协议)TCP 的核心目标是为应用层提供一条可靠的、无差错的、有序的字节流通道。主要特点:面向连接:在数据传输之前,必须通过“三次握手”建立稳定的连接,传输结束后通过“…

Alibaba Lens:阿里巴巴推出的 AI 图像搜索浏览器扩展,助力B2B采购

本文转载自:https://www.hello123.com/alibaba-lens ** 一、🌟 一键截图,轻松找货:采购神器 Alibaba Lens 详解 Alibaba Lens 是阿里巴巴集团专为全球 B2B 采购商打造的一款智能浏览器插件(支持 Chrome 等主流浏览器…

WPF常见问题清单

1.Grid 内容自动换行及自适应行高 <DataGrid Grid.Row"1" FontSize"14" IsReadOnly"True" VerticalScrollBarVisibility"Auto" RowHeight"NaN" ItemsSource"{Binding List}" AutoGenerateColumns"False…

Linux驱动开发笔记(十)——中断

视频&#xff1a;第13.1讲 Linux中断实验-Linux内核中断框架简介_哔哩哔哩_bilibili 文档&#xff1a;《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81.pdf》五十一章 1. 中断API函数 每个中断都有一个中断号&#xff0c;通过中断号即可区分不同的中断。在Linux 内核中使用一…

ubuntu18.04安装PCL1.14

简化版说明 1. 安装依赖库&#xff1a; (1) boost1.84 &#xff08;https://www.boost.org/releases/1.84.0/&#xff09; tar vxf boost_xxx.tar.gz ./bootstrap.sh --prefix/usr/local/ ./b2 sudo ./b2 install (2) vtk9.1.0 &#xff08;https://vtk.org/files/releas…

python将pdf转txt,并切割ai

python将pdf转txt&#xff0c;并切割ai step1:pdf转换 from PIL import Image import pytesseract import os import tempfile from pdf2image import convert_from_path# 设置 Tesseract 路径 pytesseract.pytesseract.tesseract_cmd rC:\Users\wangrusheng\AppData\Local\Pr…

Ubuntu22.04更换阿里镜像源,ubuntu更换源

在 Ubuntu 22.04 上更换为阿里云镜像源可以加速软件包的下载和更新&#xff0c;大幅提升系统更新速度。以下是更换阿里云镜像源的步骤&#xff1a;1. 备份现有源列表在更换镜像源之前&#xff0c;建议先备份当前的源配置文件&#xff1a;bashsudo cp /etc/apt/sources.list /et…

Git版本控制工具+基础命令

Git是什么&#xff1f;Git是目前世界上最先进的分布式版本控制系统代码托管平台&#xff1a;Gitlab/Github/Gitee&#xff08;码云&#xff09;什么是版本控制系统&#xff1f;指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。版本控制最主要的功能就是追…

图解设计模式【3】

本系列共分为三篇文章&#xff0c;其中包含的设计模式如下表&#xff1a; 名称设计模式图解设计模式【1】Iterator、Adapter、Template Method、Factory Method、Singleton、Prototype、 Builder、Abstract Factory、 Bridge、 Strategy图解设计模式【2】Composite、 Decorato…

(纯新手教学)计算机视觉(opencv)实战十四——模板与多个对象匹配

图片旋转、图片镜像相关教学&#xff1a; &#xff08;纯新手教学&#xff09;计算机视觉&#xff08;opencv&#xff09;实战十三——图片旋转、图片镜像 的几种常用方法-CSDN博客https://blog.csdn.net/2302_78022640/article/details/151356600?spm1011.2415.3001.5331 模板…