Docker容器常用操作指令总结2
引言
- 本系列作为一个dockers使用的总结,不是从讲解原理开始的故仅供使用的时候参考。
- 本文主要详细介绍了镜像的导入导出的两套方法,以及两套方法的本质区别以及使用场景的分别,还有关于虚悬镜像的一些介绍。
导入导出镜像(镜像< -- >文件)
- 使用
import/export进行导入导出
docker export 容器ID > 文件名.tar / docker export -o 文件名.tar 容器名 -o是表示输出到文件
- 使用export命令根据容器的ID号将镜像导出成一个文件(将容器压缩回"胶囊")
docker import 文件名.tar 容器名/ docker import - 容器名 < 文件名.tar
- (当然也有其他方式可以自行验证,达到目的即可)
- 使用
save/load进行导入导出(比照上面的方式)
docker save 容器ID > 文件名.tar / docker save -o 文件名.tar 容器名
docker load < 文件名.tar/ docker load -i 文件名.tar
- 注意事项
- 1 两种方法不可混用,即需要配套使用,不然启动容器会出现诸如:
docker: Error response from daemon: Container command not found or does not exist的错误
- 2 export导出的镜像文件体积更小(猜测是因为save保存的镜像是包含历史记录和元数据的可以回滚,而export不包含,仅保存容器当时的快照状态)
- 3 import可以为镜像指定新名称,load不可以
- 4 save支持将多个镜像打包到一个文件中,而export是不支持的
- 5 export由2也可以推测出,其是用来制作基础镜像的;而save更像是一个打包好的较为完整的一个镜像,"开袋即食"了属于是
dangling- 虚悬镜像(学习时部分参考文章中有提及,此处补充仅供参考)

- dangling-虚悬镜像,其tag和仓库名为none,这种镜像在构建或者删除镜像的时候有一定概率产生的,虽然概率不高,但是一旦产生就会对系统造成一些潜在的风险(看上图中后面的size)
- 查看本地所有虚悬镜像
docker image ls -f dangling=true
- 删除所有虚悬镜像