文章目录
背景
今天docker异常了,有个11111端口一直被它内部服务占用,杀都杀不掉
解决方法:彻底重置docker环境
彻底重置Docker环境涉及到移除所有容器、网络、卷、镜像,以及Docker的配置文件。这个过程会导致数据丢失,因此请确保事先备份了所有重要的数据和配置。以下是在Linux系统上彻底重置Docker环境的步骤:
1. 停止所有Docker容器
首先,停止所有正在运行的容器:
docker stop $(dockerps-aq)
2. 删除所有容器
然后,删除所有容器(包括运行中和停止的):
dockerrm$(dockerps-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
:
servicedocker stop
8. 删除Docker数据和配置文件
警告:这一步将删除Docker的所有数据和配置文件,请确保事先已经备份。
rm-rf /var/lib/docker
rm-rf /etc/docker
如果你在其他路径或分区挂载了Docker的数据,请确保也删除了那些路径下的数据。
9. 重启Docker服务
重新安装Docker(如果需要),然后启动Docker服务:
systemctl start docker
或者,如果你不是使用
systemctl
:
servicedocker start
10. 验证
通过运行
docker info
或
docker ps -a
来验证Docker环境是否已成功重置。
请记住,这些步骤将彻底清除你的Docker环境,包括所有容器、镜像、网络和卷。务必在执行这些操作前备份你需要保留的数据。
验证
现在run容器没有报错了:
版权归原作者 Dontla 所有, 如有侵权,请联系我们删除。