docker save [OPTIONS] IMAGE [IMAGE...] Options: -o, --output string Write to a file, instead of STDOUT #说明: Docker save 使用IMAGE ID导出,在导入后的镜像没有REPOSITORY和TAG,显示为<none>常见用法:
docker save -o /path/file.tar IMAGE1 IMAGE2 ... docker save IMAGE1 IMAGE2 ... > /path/file.tar范例: 导出指定镜像
[root@rocky8 ~]$ docker save alpine:latest -o alpine.tar [root@rocky8 ~]$ scp alpine.tar 10.0.0.100:范例: 导出所有镜像至不同的文件中
[root@rocky8 ~]$ docker images | awk 'NR!=1{print $1,$2}'|while read repo tag;do docker save $repo:$tag -o /opt/$repo-$tag.tar;done [root@rocky8 ~]$ ll /opt/*.tar -rw------- 1 root root 7347200 Jan 13 20:04 /opt/alpine-latest.tar -rw------- 1 root root 24064 Jan 13 20:04 /opt/hello-world-latest.tar -rw------- 1 root root 145905152 Jan 13 20:04 /opt/nginx-latest.tar -rw------- 1 root root 121435136 Jan 13 20:04 /opt/rockylinux-9-minimal.tar -rw------- 1 root root 75167744 Jan 13 20:04 /opt/ubuntu-focal-20221130.tar范例:导出所有镜像到一个打包文件
#堆代码 duidaima.com #方法1: 使用image ID导出镜像,在导入后的镜像没有REPOSITORY和TAG,显示为<none> docker save `docker images -qa` -o /opt/all.tar #方法2:将所有镜像导入到一个文件中,此方法导入后可以看REPOSITORY和TAG docker save $(docker images | awk 'NR!=1{print $1":"$2}') -o all-tags.tar #方法3:将所有镜像导入到一个文件中,此方法导入后可以看REPOSITORY和TAG docker save $(docker image ls --format "{{.Repository}}:{{.Tag}}") -o all-tags.tar
总结:
本文主要讲述了如何利用docker save命令来导出docker镜像,并给出了几种常见的导出docker镜像案例,希望对于那些还不懂怎么导出docker镜像的同学有所帮助。