当前位置: 首页 > article >正文

【详细】如何优雅地删除 Docker 容器与镜像

内容预览 ≧∀≦ゞ

    • 镜像与容器的区别
    • 删除容器和镜像的具体步骤
      • 1. 删除容器
        • 步骤 1:查看当前运行的容器
        • 步骤 2:停止容器
        • 步骤 3:删除容器
      • 2. 删除镜像
        • 步骤 1:查看镜像列表
        • 步骤 2:删除镜像
      • 3. 删除所有容器和镜像
    • 使用 1Panel 管理镜像和容器
    • 小结
      • 优雅删除容器的流程
      • 优雅删除镜像的流程

在使用 Docker 进行容器化管理时,随着时间的推移,镜像和容器会不断累积,占用大量存储空间。如果不及时清理,它们可能会影响系统的运行效率。为了保持系统的整洁与高效,了解如何安全、高效地删除镜像和容器是每位 Docker 用户必备的技能。

本文将详细介绍 Docker 中镜像和容器的区别,如何删除它们,以及如何优雅地进行这些操作。


镜像与容器的区别

在 Docker 中,镜像(Image)和容器(Container)是两个核心概念,它们分别扮演着不同的角色:

  • 镜像:Docker 镜像是一个静态文件,包含了构建和运行容器所需的所有内容。可以将其理解为应用程序的打包模板,通过镜像可以创建多个容器实例。
  • 容器:容器是镜像的运行实例,是镜像在 Docker 中的具体实现。容器可以随时启动、停止和删除,每个新容器都会基于指定的镜像创建。

简单来说,镜像是一个应用的模板,而容器则是这个模板的运行副本。


删除容器和镜像的具体步骤

1. 删除容器

容器在 Docker 中占用系统资源,运行不再需要的容器会浪费存储空间。因此,定期清理无用容器是非常重要的。以下是删除容器的步骤:

步骤 1:查看当前运行的容器

首先,可以使用 docker ps 命令查看所有正在运行的容器。这会显示一个表格,包含容器 ID、镜像名称、启动命令、创建时间和当前状态等信息。

docker ps

示例输出:

CONTAINER ID   IMAGE         COMMAND                  CREATED        STATUS        PORTS               NAMES
d0b4c3e8       myapp:latest  "/bin/bash"              2 hours ago    Up 2 hours    0.0.0.0:80->80/tcp  my_app

在此示例中,容器 ID 为 d0b4c3e8 的容器正在运行。删除容器时,我们可以只使用 容器 ID 的前三位,如 d0b

步骤 2:停止容器

使用 docker stop 命令停止容器。停止容器后,容器的状态将从“Up”变为“Exited”,意味着它已停止运行,但仍然存在于系统中。

docker stop d0b

停止后,可以再次运行 docker ps,确认容器是否已停止。此时,如果使用 docker ps,将不会看到该容器,因为该命令仅列出正在运行的容器。

步骤 3:删除容器

停止容器后,使用 docker rm 命令彻底删除该容器。此命令仅删除指定的容器,不会影响其他容器的运行。

docker rm d0b

成功执行后,该容器将被从 Docker 系统中彻底移除。如果您想查看所有容器(包括已停止的容器),可以使用以下命令:

docker ps -a

此命令会列出所有容器,包括已退出的容器,以便检查和确认。


2. 删除镜像

每个容器都是基于镜像启动的,镜像包含了操作系统、应用程序、依赖及配置等内容。删除不再需要的镜像可以释放系统空间。删除镜像前,确保没有容器正在使用该镜像。

步骤 1:查看镜像列表

使用 docker images 命令查看当前系统中的所有镜像,输出包括镜像 ID、名称、标签、创建时间和大小等信息。

docker images

示例输出:

REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
myapp        latest    b76e2f4b       2 days ago      500MB
ubuntu       20.04     a78b2c1d       3 weeks ago     70MB

在上面的示例中,镜像 ID 为 b76e2f4b 的镜像对应应用 myapp:latest。我们可以使用镜像 ID 的前三位(如 b76)来指定要删除的镜像。

步骤 2:删除镜像

确保没有运行中的容器依赖该镜像后,可以使用 docker rmi 命令删除指定的镜像。

docker rmi b76

成功执行后,Docker 将从系统中移除该镜像。如果该镜像被多个容器引用,您需要先停止并删除相关容器,然后再删除镜像。


3. 删除所有容器和镜像

如果您希望删除所有容器和镜像,可以使用以下命令:

  • 删除所有容器:
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
  • 删除所有镜像:
docker rmi $(docker images -q)

这些命令会停止并删除所有容器,然后删除所有镜像。


使用 1Panel 管理镜像和容器

如果您希望更直观地管理 Docker 容器和镜像,可以考虑使用 1Panel 这样的一体化管理工具。1Panel 提供了图形化界面,可以方便地查看、启动、停止、删除容器和镜像,极大地简化了 Docker 管理操作,非常适合不熟悉命令行操作的用户。
在这里插入图片描述


小结

优雅删除容器的流程

  1. 停止容器:优雅地停止容器的运行。
  2. 删除容器:容器停止后,再进行删除操作。

优雅删除镜像的流程

  1. 停止容器:首先停止基于该镜像运行的所有容器。
  2. 删除容器:确保容器已停止后,进行容器删除。
  3. 删除镜像:容器删除后,再删除镜像。

通过以上步骤,您可以有效地管理和清理 Docker 容器与镜像,释放宝贵的系统资源。

最后,再次感谢您阅读本篇文章!如果您对文中内容有任何疑问或建议,欢迎在评论区与我交流。您的点赞和分享将是我继续创作的动力!


http://www.kler.cn/a/390693.html

相关文章:

  • Springboot 启动端口占用如何解决
  • 九州未来再度入选2024边缘计算TOP100
  • 软件测试面试2024最新热点问题
  • 1小时构建Vue3知识体系之vue的生命周期函数
  • GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
  • kafka消费数据太慢了,给优化下
  • 基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用
  • 招聘程序员
  • (九)Python元组基本操作
  • Redis集群模式之Redis Sentinel vs. Redis Cluster
  • 电子电气架构 -- 智能汽车电子电气架构开发关键技术
  • Sqoop是一款用于在Hadoop生态系统和关系型数据库之间高效传输数据的工具
  • Dolphinscheduler配置dataX离线采集任务写入hive实践(二)
  • 前端请求后端php接口跨域 cors问题
  • Android Settings 单元测试 | 如何运行单元测试?
  • sanitize-html 防止 XSS(跨站脚本攻击)
  • linux 用C语言编写自己的myshell
  • libgdiplus在MacOS M1上问题:Unable to load shared library ‘libgdiplus‘
  • unity3d————协程练习题
  • 简记Vue3(五)—— Pinia
  • C++ 错题本--duplicate symbol问题
  • linux文本管理!!!
  • 实在智能受邀出席柳州市智能终端及机器人产业发展合作大会
  • 【车道线检测】一、传统车道线检测:基于霍夫变换的车道线检测史诗级详细教程
  • AI引领PPT创作:迈向“免费”时代的新篇章?
  • Git超详细教程