【Docker】删除容器和镜像

本文介绍了如何通过Docker命令行工具删除容器和镜像,包括暂停、批量删除、强制删除及不同选项的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源: https://www.cnblogs.com/cherry-ning/articles/15585810.html

删除容器

1、先列出有哪些容器(列出所有的):docker ps -a
  显示所有容器:docker ps -a
  只显示容器ID:docker ps -q
2、要先暂停容器,才能删除:
  暂停所有容器:docker stop $(docker ps -aq)
  暂停单个容器:docker stop < CONTAINER ID >
3、删除容器:
  删除所有容器:docker rm $(docker ps -aq)
  删除单个容器:docker rm < CONTAINER ID >
  强制删除 -f, --force:docker rm -f < CONTAINER ID >
  删除指定链接-l, --link:docker rm -l < CONTAINER ID >
  删除容器关联数据卷-v --volumes:docker rm -v < CONTAINER ID >

删除镜像

1、列出镜像:docker images
2、删除镜像:
  删除单个镜像:docker rmi < IMAGE ID >
  删除所有镜像:docker rmi $(docker images -q)
  遇见关联镜像删除不了时,强制删除:docker rmi -f $(docker images -q)

<think>我们正在处理用户关于Docker删除容器镜像的命令问题。根据用户提供的引用内容,我们可以总结出以下步骤命令: ### 删除Docker容器 1. **查看所有容器(包括已停止的)**: ```bash docker ps -a ``` 2. **停止正在运行的容器**(如果需要删除容器正在运行): ```bash docker stop <容器ID或容器名> ``` 3. **删除容器**: ```bash docker rm <容器ID或容器名> ``` 如果容器正在运行,可以使用`-f`参数强制删除: ```bash docker rm -f <容器ID或容器名> ``` ### 删除Docker镜像 1. **查看所有镜像**: ```bash docker images ``` 2. **删除镜像**: ```bash docker rmi <镜像ID或镜像名> ``` 如果镜像已经被用于创建容器(无论容器是否运行),直接删除会报错。此时有两种方法: - **先删除关联的容器,再删除镜像**: ```bash # 先删除使用该镜像创建的容器(需要先停止容器或强制删除docker rm -f <容器ID或容器名> # 再删除镜像 docker rmi <镜像ID> ``` - **强制删除镜像(会同时删除关联的容器)**: ```bash docker rmi -f <镜像ID> ``` ### 注意事项 - 删除容器时,`-f`参数会强制删除运行中的容器(通过发送SIGKILL信号)。 - 删除镜像时,`-f`参数可以强制删除容器使用的镜像,但要注意这可能会导致一些关联的容器删除或进入悬空状态。 - 如果镜像有多个标签,使用`docker rmi`删除时,实际上只是删除镜像的一个标签,直到最后一个标签被删除时,镜像本身才会被删除。 ### 示例 假设我们要删除一个名为`my-container`的容器一个ID为`d1a7d5c5b5e5`的镜像: 1. 删除容器: ```bash # 如果容器正在运行,先停止或强制删除 docker stop my-container docker rm my-container # 或者直接强制删除 docker rm -f my-container ``` 2. 删除镜像: ```bash # 查看镜像 docker images # 删除镜像(假设镜像ID为d1a7d5c5b5e5) docker rmi d1a7d5c5b5e5 # 如果镜像容器使用,强制删除 docker rmi -f d1a7d5c5b5e5 ``` ### 参考资料 - [Docker常规操作——删除容器实例、删除镜像](https://blog.csdn.net/Michel4Liu/article/details/80889977) [^1] - [Docker基本操作之删除容器Container删除镜像IMAGE](https://example.com) [^2] (注:原文未提供具体链接,此处为示例) §§相关问题§§ 1. 如何批量删除所有已停止的Docker容器? 2. 如何删除所有未被使用的Docker镜像? 3. Docker镜像容器的存储位置在哪里?如何清理?</think>### Docker 删除容器镜像的命令详解 #### 一、删除容器(Container) 1. **查看所有容器**(包括已停止的): ```bash docker ps -a ``` 2. **停止运行中的容器**(必须先停止才能删除): ```bash docker stop <容器ID或容器名> # 示例:docker stop 59ec ``` 3. **删除容器**: ```bash docker rm <容器ID或容器名> # 示例:docker rm 59ec ``` 4. **强制删除运行中的容器**(无需先停止): ```bash docker rm -f <容器ID或容器名> ``` > 📌 **注意**: > - 删除前建议使用 `docker ps -a` 确认容器状态[^1] > - 批量删除所有已停止容器: > ```bash > docker container prune > ``` #### 二、删除镜像(Image) 1. **查看所有镜像**: ```bash docker images ``` 2. **删除镜像**: ```bash docker rmi <镜像ID或镜像名> # 示例:docker rmi mysql ``` 3. **强制删除容器使用的镜像**: ```bash docker rmi -f <镜像ID> ``` > ⚠️ **关键提示**: > - 若镜像已被容器使用(即使容器已停止),需先删除关联容器或使用 `-f` 参数[^2] > - 删除镜像前建议检查依赖关系: > ```bash > docker image inspect <镜像ID> > ``` #### 三、操作流程图解 ```mermaid graph TD A[开始] --> B{docker ps -a 查容器} B --> C[选择目标容器] C --> D{是否运行中?} D -->|是| E[docker stop 容器ID] D -->|否| F[docker rm 容器ID] E --> F F --> G{docker images 查镜像} G --> H[选择目标镜像] H --> I{是否有容器依赖?} I -->|是| J[docker rmi -f 镜像ID] I -->|否| K[docker rmi 镜像ID] J --> L[完成] K --> L ``` #### 四、实用组合命令 1. **删除所有停止的容器**: ```bash docker rm $(docker ps -aq) ``` 2. **删除所有未被使用的镜像**: ```bash docker image prune -a ``` 3. **删除指定镜像及其关联容器**: ```bash docker rmi -f $(docker images -q <镜像名>) && docker rm $(docker ps -aqf ancestor=<镜像名>) ``` > 💡 **最佳实践**: > - 定期清理:`docker system prune` 一键删除停止的容器、悬空镜像网络 > - 生产环境慎用 `-f` 参数,避免误删重要容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值