一、前言

  大家是怎么删除Docker中的镜像和容器的呢,有没有考虑过如何优雅地删除呢?本教程详细指导如何在优雅地删除Docker容器和镜像。如需了解如何在Centos7系统里面安装Docker,可以参考教程【最新Docker在Centos7下安装部署(参考官方教程文档)】
 
  本文由 @大白有点菜 原创,请勿盗用,转载请说明出处!如果觉得文章还不错,请点点赞,加关注,谢谢!

二、优雅删除镜像(推荐做法

1、查看Docker要删除的镜像,如目标版本为stable-perlNginx,镜像ID(IMAGE ID)为 df1998569adb

docker images

2、使用命令“docker rmi 镜像ID”删除Nginx(stable-perl)的镜像,只取“IMAGE ID”的前3个字符即可。

docker rmi df1

 
  报错内容如下,意思是镜像(df1)存在使用中的容器(f66),不能强制删除镜像。官方的意思是要先停止容器运行,再进行镜像的删除操作吗?

Error response from daemon: conflict: unable to delete df1998569adb (cannot be forced) - image is being used by running container f6678f2821c7

3、查看Docker运行中的容器,如容器 nginx:stable-perl ,容器ID为 f66

docker ps

4、先停止nginx:stable-perl容器(f66)运行,再去删除Nginx(stable-perl)镜像(df1)

(1)停止容器(f66)运行。

docker stop f66

(2)删除镜像(df1)。

docker rmi df1

 
  What?都已经停止容器(f66)运行了,删除镜像(df1)怎么还报错啊!?其实,只停止容器的正常运行还不行,还有最重要的一步没做:删除容器

Error response from daemon: conflict: unable to delete df1998569adb (must be forced) - image is being used by stopped container f6678f2821c7

5、查看Docker所有容器的状态(包含运行中的和已停止的),“STATUS”为“Exited(0)”代表停止运行。执行删除容器命令“docker rm f66”,删除 nginx:stable-perl 容器,再查看 nginx:stable-perl 容器是否还在列表中。

(1)查看Docker所有容器的状态。

docker ps -a

(2)删除 nginx:stable-perl 容器。

docker rm f66

(3)再查看Docker所有容器的状态,发现 nginx:stable-perl 容器(f66)已经不存在了。

docker ps -a

6、删除镜像,再查看所有镜像,发现列表中已经不存在版本为stable-perl的Nginx镜像(df1)。

docker rmi df1

三、优雅删除容器(推荐做法

1、查看Docker中运行中的容器,例如 Nginx ,容器ID为 39c,并删除容器。

(1)查看Docker中运行中的容器。

docker ps

(2)删除Nginx容器(39c)。

docker rm 39c

(3)发现会报错,报错内容如下,意思是容器还在运行,不能删除,先停止运行再删除,或直接强制删除。

Error response from daemon: You cannot remove a running container 39cdb69246fdb6b623cff60af5b59e033149b6940bc5e0432c760ea245da81a9. Stop the container before attempting removal or force remove

2、停止容器(39c),查看所有容器的运行状态。

(1)停止容器。

docker stop 39c

(2)查看所有容器的运行状态(包含运行中的和已停止的)。

docker ps -a

3、删除容器(39c),查看所有容器的运行状态。

(1)删除容器。

docker rm 39c

(2)查看所有容器的运行状态(包含运行中的和已停止的)。

docker ps -a

(3)容器(39c)已经不存在了,说明被成功删除了。
 

四、暴力删除镜像和容器(不推荐做法

1、经验证,镜像中的容器状态已停止已删除的才能被强制删除,同时对应的容器(d70)也会被删除。若容器还在运行中删除镜像会报错命令“docker rmi”后面加参数“-f”。“image_id”代表镜像ID(IMAGE ID)。

docker rmi -f image_id

 

2、无论容器是否正在运行中或者已停止,都可被强制删除!命令“docker rm”后面加参数“-f”。“container_id”代表容器ID(CONTAINER ID)。

docker rm -f container_id

五、总结

  优雅地删除镜像的最佳做法是:先停止容器,再删除容器,最后删除镜像
 
  优雅地删除容器的最佳做法是:先停止容器,再删除容器

如何优雅地删除Docker镜像和容器(超详细)相关推荐

  1. linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...

    本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...

  2. docker 一起性重启所有镜像_docker系列四之docker镜像与容器的常用命令

    docker镜像与容器的常用命令 一.概述 docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人站在 ...

  3. Docker学习二:Docker镜像与容器

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

  4. Centos7下更改docker镜像和容器的默认路径

    一.docker权限问题 据官方解释,搭建docker环境必须使用root权限,或者sudo装,但一般服务器是一个机构或者多个人共同使用的,只有管理员才能拿到root权限,所以建议需要使用docker ...

  5. Docker、nvidia-container-toolkit安装与常用docker命令及docker镜像和容器的更新维护

    Python的virtual env和Anaconda的env可以用来做环境隔离防止不同的模型环境之间在安装时相互影响甚至因为支持包的版本冲突导致不能同时使用,但是不具备打包发布部署的功能,想要调试好 ...

  6. 安装docker与docker镜像和容器基本的基本操作

    安装docker与docker镜像和容器基本的基本操作 前言 一.docker安装步骤详解 二.网络优化 三.Docker-server端配置文件建议配置 四.Doceker基本命令(运维) (1)查 ...

  7. Docker镜像与容器基本操作

    Docker镜像与容器基本操作 一.Docker基本命令 1.查看docker版本 2.搜索镜像和dockerhub 3.下载镜像 4.docker run 5.查看所有状态容器 二.docker镜像 ...

  8. Docker镜像和容器

    docker镜像与容器概念 本文转载自:https://www.cnblogs.com/bethal/p/5945038.html 本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面 ...

  9. docker镜像及容器的使用

    docker镜像及容器的使用 一.Docker三大概念 docker 中有三个核心概念:镜像,容器,仓库. 因此准确把握这三大概念对于掌握docker技术尤为重要. 1.镜像 Docker镜像就相当于 ...

最新文章

  1. FD.io/VPP — DNS Plugin
  2. MYSQL数据库VALUES_MySQL数据库“十宗罪”(十大经典错误案例)
  3. how to create Employee in SAP Cloud Platform
  4. Java简单内存解析
  5. 光盘装系统和U盘装系统有什么区别吗?
  6. TypeError: unhashable type: ‘numpy.ndarray‘
  7. 贪心算法解决哈夫曼编码问题
  8. java得到几天前的日期
  9. anaconda查看环境中安装的包及具体位置查找
  10. WPF真入门教程21--WPF资源系统
  11. php msvcr110,msvcr110.dll丢失的解决方法是什么
  12. 本人亲自整理的极客时间设计模式之美下部的硬核笔记(残缺版)最近加班太多,搞不了太多,只能尽量了xd们
  13. 2021支付宝集五福【攻略】!!!
  14. SpringBoot整合Email 邮件发送
  15. 苏轼不知月亮上是何年何月 | Python计算出来了
  16. 3010基于二叉链表的二叉树高度的计算
  17. html制作小短片,如何制作视频短片
  18. 如何利用批处理文件快速打开截图软件呢?
  19. 微软计划再裁11000人!距上次裁员仅3个月,CEO:未来两年都是苦日子
  20. Objects as Points 解读

热门文章

  1. jpa 使用hql进行联表查询
  2. ERP下载订单时出现报错怎么办?
  3. 为什么截图粘贴到WORD里看不见呢
  4. 陈文自媒体:社交淘客,直播卖货赚大钱来了!
  5. 直方图规定化之SML和GML映射
  6. 《译 SFML Essentials 英文版》—— 《第一章》 SFML 入门
  7. 大数据 清华 覃征_清华大学覃征.PPT
  8. 提升IT部门竞争力的五大手段
  9. Flutter使用UDP
  10. 看过来~中国消协权威全新解读:揭秘电商法十大亮点!