docker save

命令

docker save

描述

将镜像导出为tar归档文件,默认输出到标准输出 STDOUT。

docker savedocker export 的主要区别是:

docker save导出的相当于镜像的离线备份,包含了镜像原有的镜像层、tag、版本等相关的信息,可以直接还原成原来的镜像,导出的tar文件使用docker load 命令还原成镜像。

docker export则是将镜像里面文件系统导出来,就是一堆打包的的文件,没有原有镜像相关的层、tag、版本等信息,也无法直接还原成原来相同的镜像,导出的tar包使用docker import创建镜像。

docker save导出的备份,可以使用 docker load 还原。

帮助

# docker save --help

Usage: docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
  -o, --output string Write to a file, instead of STDOUT

选项

  • -o, –output string 输出到一个文件中,而不是输出到标准输出 STDOUT

示例

  • 创建一个备份,该备份可以被docker load直接还原为镜像 ``` $ docker save busybox > busybox.tar

$ ls -sh busybox.tar

2.7M busybox.tar

$ docker save –output busybox.tar busybox

$ ls -sh busybox.tar

2.7M busybox.tar

$ docker save -o fedora-all.tar fedora

$ docker save -o fedora-latest.tar fedora:latest


- 导出特定的一个容器层

例如在镜像`ubuntu:saucy`中,导出父层或历史层 `ubuntu:lucid` 为离线包 `ubuntu.tar`

$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy ```