1、docker save 简介
docker save
命令用于将 Docker 镜像保存到本地文件中。这可以帮助您在不连接到 Docker Hub 或其他 Docker Registry 的情况下备份和迁移镜像。
参考文档:https://docs.docker.com/engine/reference/commandline/save/
2、docker save 语法
docker save [OPTIONS] IMAGE [IMAGE...]
3、docker save 命令
1)创建一个备份,然后可以与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
2)使用gzip将镜像保存为tar.gz文件
可以使用gzip来保存镜像文件,并使备份更小。
docker save myimage:latest | gzip > myimage_latest.tar.gz
3)选择特定的镜像标签
甚至可以选择特定的镜像标签,从而备份特定版本的镜像仓库。
docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy
4)保存单个镜像
要保存单个 Docker 镜像,请运行以下命令:
docker save my-image:latest > my-image.tar
注意:my-image:latest
是要保存的 Docker 镜像的名称。>
符号将输出重定向到一个名为 my-image.tar
的 tar 文件中。
5)保存多个镜像
要同时保存多个 Docker 镜像,请列出要保存的所有镜像名称,并以空格分隔它们,例如:
docker save my-image1:latest my-image2:latest my-image3:latest > my-images.tar
如此把 my-image1
、my-image2
和 my-image3
三个镜像打包成一个 tar 文件,命名为 my-images.tar
。
6)保存所有镜像
要保存本地所有 Docker 镜像,请运行以下命令:
docker save -o all-images.tar $(docker images -q)
在上面的示例中,-o
选项用于指定输出文件的名称为 all-images.tar
。$(docker images -q)
命令用于列出本地所有镜像的 ID。这些 ID 将会传递给 docker save
命令进行打包操作。
7)保存镜像到远程主机
要将 Docker 镜像保存到远程主机,请使用以下命令:
docker save my-image:latest | ssh user@remote_host docker load
4、命令选项
选项 | 默认 | 描述 |
---output , -o | 写入文件,而不是STDOUT |