Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. Linux
  4. 正文

Docker 镜像导出导入

2022-03-16

说到导出再导入其实并不是容易用到,但某些时候还真就避免不了,例如服务器封禁了国外的端口。

今天我就遇到了,政府机构的系统直接封禁了全部国外的端口,以至于完全无法从docker hub拉取到镜像,这里就只能先在可以使用docker hub的环境导出再导入这边。

容器导入及导出

docker的容器导出可以使用export 或者 save 来进行。

export

在docker中可以使用export来导出容器镜像,它其实是将文件系统作为一个tar归档文件导出到STDOUT。从帮助中可以看出它其实就是将 container 的文件系统进行打包。

因此,在使用export进行导出时,需要指定 container ,不能像docker save 那样指定Image。

# 查看运行的容器
docker ps -a

# 导出容器
docer export -o nginx.tar nginx

import

# 导入容器
docker import nginx.tar nginx:latest

docker import将container导入后会成为一个image,而不是恢复为一个container。

另:docker import可以指定导入的image:[tag],说明我们可以为镜像指定新的名称。如果本地库已存在同名的镜像,则原有镜像的名称会被剥夺,赋给新的镜像。此时原有的镜像只能通过ID进行操作。

dockers export 的应用场景主要用来制作基础镜像,比如你用Alpine作为OS,然后安装一堆软件并进行设置后,使用docker export 将其保存为一个基础镜像。然后将这个镜像发给其他人使用。例如:开发中的基础开发环境

save

前面说到了export,其实还有save,它也是一个导出命令(默认输出到 STDOUT),因此需要使用>管道符将其传入文件,亦可以使用-o file.tar方式。

它的目的是将一个或多个 image 保存到tar

docker save [OPTIONS] IMAGE [IMAGE...]

docker save busybox > busybox.tar
# or
docker save -o busybox.tar busybox:tag

load

从文件或STDIN加载tar存档(即使使用gzip、bzip2、xz压缩)中的图像或者存储库。将其恢复至image中。

docker load [OPTIONS]

docker load < busybox.tar.gz
# or 
docker load -i fedora.tar

两种方案的差异

  1. 文件大小不同
    export导出的镜像体积小于save保存的镜像
  2. 是否可以对镜像重命名
    docker import 可以为镜像重新指定新名称
    docker load 不能对载入的镜像重命名
  3. 多镜像同时导出
    docker export 不支持
    docker save 支持
  4. 是否包含历史
    export 不支持
    save 支持(包含历史,可以回滚layer)
两种方案不可混用,使用import导入save产生的文件,虽然可以导入成功。但是启动容器会失败。
标签: docker
最后更新:2025-03-16

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
文章目录
  • 容器导入及导出
    • export
    • import
    • save
    • load
  • 两种方案的差异
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 29篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号