1. docker save
1.1. 描述
将镜像导出为 tar 归档文件,默认输出到标准输出 STDOUT。
docker save
和 docker export
的主要区别是:
docker save
导出的相当于镜像的离线备份,包含了镜像原有的镜像层、tag、版本等相关的信息,可以直接还原成原来的镜像,导出的 tar 文件使用 docker load
命令还原成镜像。
docker export
则是将镜像里面文件系统导出来,就是一堆打包的的文件,没有原有镜像相关的层、tag、版本等信息,也无法直接还原成原来相同的镜像,导出的 tar 包使用 docker import
创建镜像。
1.2. 帮助
$ 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
1.3. 选项
选项 | 描述 |
---|---|
-o, --output string | 输出到一个文件中,而不是输出到标准输出 STDOUT |
2. 示例
- 创建一个备份,该备份可以被
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