文章目录
-
- 背景
- 解决方法:彻底重置docker环境
-
- [1. 停止所有Docker容器](#1. 停止所有Docker容器)
- [2. 删除所有容器](#2. 删除所有容器)
- [3. 删除所有Docker镜像](#3. 删除所有Docker镜像)
- [4. 删除所有Docker网络](#4. 删除所有Docker网络)
- [5. 删除所有Docker卷](#5. 删除所有Docker卷)
- [6. 清理Dangling资源](#6. 清理Dangling资源)
- [7. 停止Docker服务](#7. 停止Docker服务)
- [8. 删除Docker数据和配置文件](#8. 删除Docker数据和配置文件)
- [9. 重启Docker服务](#9. 重启Docker服务)
- [10. 验证](#10. 验证)
- 在这里插入图片描述
- 验证
背景
今天docker异常了,有个11111端口一直被它内部服务占用,杀都杀不掉


解决方法:彻底重置docker环境
彻底重置Docker环境涉及到移除所有容器、网络、卷、镜像,以及Docker的配置文件。这个过程会导致数据丢失,因此请确保事先备份了所有重要的数据和配置。以下是在Linux系统上彻底重置Docker环境的步骤:
1. 停止所有Docker容器
首先,停止所有正在运行的容器:
bash
docker stop $(docker ps -aq)

2. 删除所有容器
然后,删除所有容器(包括运行中和停止的):
bash
docker rm $(docker ps -aq)

3. 删除所有Docker镜像
接下来,删除所有Docker镜像:
bash
docker rmi $(docker images -q)

4. 删除所有Docker网络
删除创建的所有网络(除了默认的bridge、none、host网络):
bash
docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')

5. 删除所有Docker卷
删除所有Docker卷:
bash
docker volume rm $(docker volume ls -q)

6. 清理Dangling资源
这一步是可选的,用于清理悬挂(dangling)资源,例如未被任何容器引用的镜像、悬挂的卷等:
bash
docker system prune -a --volumes

7. 停止Docker服务
停止Docker服务:
bash
systemctl stop docker
或者,如果你不是使用systemctl
:
bash
service docker stop

8. 删除Docker数据和配置文件
警告:这一步将删除Docker的所有数据和配置文件,请确保事先已经备份。
bash
rm -rf /var/lib/docker
rm -rf /etc/docker

如果你在其他路径或分区挂载了Docker的数据,请确保也删除了那些路径下的数据。
9. 重启Docker服务
重新安装Docker(如果需要),然后启动Docker服务:
bash
systemctl start docker
或者,如果你不是使用systemctl
:
bash
service docker start

10. 验证
通过运行docker info
或docker ps -a
来验证Docker环境是否已成功重置。
请记住,这些步骤将彻底清除你的Docker环境,包括所有容器、镜像、网络和卷。务必在执行这些操作前备份你需要保留的数据。
验证
现在run容器没有报错了:
