Docker容器常用操作指令总结2

120 阅读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
  • 删除所有虚悬镜像
    • docker image prune