【Docker】 镜像导出 & 导入,实验环境aarch64(arm64)Linux操作系统

实验环境:aarch64(arm64)Linux操作系统

Docker 镜像导出 & 导入

两种常用方式:save/load(镜像包,推荐,只打包镜像)、export/import(容器快照,不推荐用于镜像迁移,会丢失历史层、环境变量等)

一、导出镜像(本机操作)

1. 查看镜像名称和tag

bash 复制代码
docker images

2. docker save 导出为 tar 文件

bash 复制代码
# 单镜像
docker save -o ragflow_arm64.tar ragflow:arm64
bash 复制代码
# 多个镜像打包到同一个tar
docker save -o my_images.tar nginx:1.24 redis:7.2
  1. 方案 A:所有镜像打包进同一个 tar 包(最简单,推荐离线内网)
    缺点:如果镜像总量很大,单个 tar 文件会非常巨大
    导出全部镜像到 all_images.tar
bash 复制代码
docker save $(docker images --format "{{.Repository}}:{{.Tag}}") -o all_images.tar

压缩版本(推荐,减少文件体积)

bash 复制代码
docker save $(docker images --format "{{.Repository}}:{{.Tag}}") | gzip > all_images.tar.gz
  1. 方案 B:批量导出-每个镜像单独导出一个 tar(稳妥,单个损坏不影响其他)
bash 复制代码
docker images --format "{{.Repository}}:{{.Tag}}" | while read img; do
  fname=$(echo $img | tr "/:" "_")
  echo "正在导出 $img => $fname.tar"
  docker save "$img" -o "$fname.tar"
done
  • -o:输出文件,后面跟文件名
  • 生成的 .tar 文件拷贝到另一台电脑

⚠️ 不要用 docker export!export 是导出正在运行/停止的容器,不是镜像,导入后会丢失镜像元数据。

二、另一台电脑导入镜像

把 tar 文件传到目标机器后执行 load:

bash 复制代码
docker load -i nginx_1.24.tar
  • -i 指定tar包

导入完成后验证:

bash 复制代码
docker images

就能看到导入好的镜像,直接 docker run 使用。

三、常用补充命令

导出并压缩(节省传输空间,大镜像推荐)

bash 复制代码
# 导出+gzip压缩
docker save nginx:1.24 | gzip > nginx_1.24.tar.gz

导入压缩包:

bash 复制代码
gzip -dc nginx_1.24.tar.gz | docker load

重命名镜像(导入后tag丢失时)

有时候导入后只有镜像ID,没有名字标签:

bash 复制代码
docker tag <镜像ID> nginx:1.24

save VS export 简单对比

命令 对象 特点 适用场景
docker save 镜像 保留所有层、tag、环境变量、历史 跨机器迁移镜像 ✅
docker export 容器 扁平化快照,丢失镜像历史/元数据 备份容器文件系统 ❌

四、离线内网机器小提示

目标机器必须安装相同/兼容版本的Docker ,否则load可能报错;

如果是飞腾+银河麒麟这类arm64信创机器,导出镜像时要注意架构:

在x86机器导出的镜像,不能直接在arm机器load,需要提前build对应架构镜像。

相关推荐
水饺编程4 小时前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
便利店10244 小时前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
qetfw5 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
其实防守也摸鱼5 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
小马同学-5 小时前
K8s 控制器详解 — Deployment、ReplicaSet、DaemonSet 与 Job
云原生·容器·kubernetes
TTATTC6 小时前
单体应用如何支撑千所机构独立测评?拆解 sg-exam 行级多租户隔离与动态组卷内核
docker·开源
toooooop86 小时前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
TTATTC6 小时前
每加一个登录端都要改 Controller?Spring Boot 泛型策略工厂与模板切面演进
docker·开源
程序员老赵6 小时前
Docker 部署 MaxKB:轻松搭建企业级智能体平台
前端·docker·agent
码少女6 小时前
Linux——UDP协议和TCP协议
linux·网络·udp·tcp