文章目录
- 背景
- 解决方法:彻底重置docker环境
- 1. 停止所有Docker容器
- 2. 删除所有容器
- 3. 删除所有Docker镜像
- 4. 删除所有Docker网络
- 5. 删除所有Docker卷
- 6. 清理Dangling资源
- 7. 停止Docker服务
- 8. 删除Docker数据和配置文件
- 9. 重启Docker服务
- 10. 验证
- 在这里插入图片描述
- 验证
背景
今天docker异常了,有个11111端口一直被它内部服务占用,杀都杀不掉
解决方法:彻底重置docker环境
彻底重置Docker环境涉及到移除所有容器、网络、卷、镜像,以及Docker的配置文件。这个过程会导致数据丢失,因此请确保事先备份了所有重要的数据和配置。以下是在Linux系统上彻底重置Docker环境的步骤:
1. 停止所有Docker容器
首先,停止所有正在运行的容器:
docker stop $(docker ps -aq)
2. 删除所有容器
然后,删除所有容器(包括运行中和停止的):
docker rm $(docker ps -aq)
3. 删除所有Docker镜像
接下来,删除所有Docker镜像:
docker rmi $(docker images -q)
4. 删除所有Docker网络
删除创建的所有网络(除了默认的bridge、none、host网络):
docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')
5. 删除所有Docker卷
删除所有Docker卷:
docker volume rm $(docker volume ls -q)
6. 清理Dangling资源
这一步是可选的,用于清理悬挂(dangling)资源,例如未被任何容器引用的镜像、悬挂的卷等:
docker system prune -a --volumes
7. 停止Docker服务
停止Docker服务:
systemctl stop docker
或者,如果你不是使用systemctl
:
service docker stop
8. 删除Docker数据和配置文件
警告:这一步将删除Docker的所有数据和配置文件,请确保事先已经备份。
rm -rf /var/lib/docker
rm -rf /etc/docker
如果你在其他路径或分区挂载了Docker的数据,请确保也删除了那些路径下的数据。
9. 重启Docker服务
重新安装Docker(如果需要),然后启动Docker服务:
systemctl start docker
或者,如果你不是使用systemctl
:
service docker start
10. 验证
通过运行docker info
或docker ps -a
来验证Docker环境是否已成功重置。
请记住,这些步骤将彻底清除你的Docker环境,包括所有容器、镜像、网络和卷。务必在执行这些操作前备份你需要保留的数据。
验证
现在run容器没有报错了: