点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。
在 Docker 中,使用 docker image save 命令将一个或多个 Docker 镜像保存为一个压缩文件(通常是 .tar 格式)。
命令有什么作用呢?假如我们有几台服务器,其中只有一台服务器能够访问互联网,我们可以在能够访问互联网的机器上下载我们需要的镜像,然后将镜像通过 docker image save 命令将镜像保存为 tar 格式,然后使用 scp 将保存的镜像 tar 拷贝到其他机器,最后使用 docker image load 命令导入镜像。
语法如下:
用法:docker image save [OPTIONS] IMAGE [IMAGE...]
将一个或多个镜像保存到 tar 压缩包(默认情况下,流到 STDOUT)
别名:
docker image save、docker save
选项
-o, --output string 写入文件,而不是 STDOUT以下是一些示例用法:
假设要保存名为myapp:latest的镜像,可以使用以下命令:
root@hxstrive:~# docker image save -o myapp.tar myapp:latest
root@hxstrive:~# ll | grep myapp
-rw------- 1 root root 162381824 8月 22 15:41 myapp.tar这里,-o参数指定输出文件的名称为myapp.tar。
如果要同时保存多个镜像,可以在命令中依次列出镜像的名称或 ID。例如,保存myapp:latest和anotherapp:v1两个镜像:
root@hxstrive:~# docker image save -o combined_images.tar myapp:latest nginx:1.20
root@hxstrive:~# ll | grep combined
-rw------- 1 root root 308298240 8月 22 15:43 combined_images.tar生成的combined_images.tar文件将包含这两个镜像。
要保存本地所有的镜像,可以使用以下命令,但这可能会生成一个非常大的文件,并且执行时间可能较长:
root@hxstrive:~# docker image save -o all_images.tar $(docker image ls -q)
root@hxstrive:~# ll | grep all_images.tar
-rw------- 1 root root 1830694912 8月 22 15:45 all_images.tar这里使用了命令替换,docker image ls -q列出所有镜像的 ID,然后传递给docker image save命令。
保存的镜像文件可以在其他地方使用docker image load命令加载到 Docker 环境中。
点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。