Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker save 常用命令。

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-image1my-image2my-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

推荐文档

相关文档

大家感兴趣的内容

随机列表