命令
docker save
描述
将镜像导出为tar归档文件,默认输出到标准输出 STDOUT。
docker save
和 docker export
的主要区别是:
docker save
导出的相当于镜像的离线备份,包含了镜像原有的镜像层、tag、版本等相关的信息,可以直接还原成原来的镜像,导出的tar文件使用docker load
命令还原成镜像。
docker export
则是将镜像里面文件系统导出来,就是一堆打包的的文件,没有原有镜像相关的层、tag、版本等信息,也无法直接还原成原来相同的镜像,导出的tar包使用docker import
创建镜像。
docker save
导出的备份,可以使用 docker load
还原。
帮助
# docker save --help
<!-- toc -->
<!-- tocstop -->
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 ```