实际使用中主要为了解决无法访问外网的情况下,安装部署 docker 镜像的目的。
Docker 提供了 docker save
和 docker load
命令,用以将镜像保存为一个文件,然后传输到另一个位置上,再加载进来。
1. 列举镜像
列举镜像
$ docker image ls
查看镜像、容器、数据卷所占用的空间
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 24 0 1.992GB 1.992GB (100%)Containers 1 0 62.82MB 62.82MB (100%)Local Volumes 9 0 652.2MB 652.2MB (100%)Build Cache 0B 0B
2. 导出镜像
比如保存这个 srs 镜像:
$ docker image ls srs
REPOSITORY TAG IMAGE ID CREATED SIZE
srs latest baa5d63471ea 5 weeks ago 4.803 MB
保存镜像:
$ docker save srs -o filename.xxx
$ file filename.xxx
filename: POSIX tar archive
这里的 filename.xxx
可以为任意名称+任意后缀名,如 srs-latest.tar ,但文件的本质都是归档文件
若使用 gzip 压缩:
$ docker save srs | gzip > srs-latest.tar.gz
如果同名则会覆盖(没有警告)
3. 导入镜像
然后我们将 srs-latest.tar.gz
文件复制到了到了另一台机器上,再导入镜像:
$ docker load -i srs-latest.tar.gz
======================================>
Loaded image: srs:latest
这种方式主要为了实现离线加载镜像的需求,但并不推荐使用。镜像迁移更推荐使用仓库
Docker Registry
。
4. 删除镜像
删除本地的镜像,可以使用 docker image rm 命令,其格式为:
$ docker image rm [选项] <镜像1> [<镜像2> ...]
批量清理临时镜像文件
$ docker image prune