docker 无法释放端口的解决方案

今天遇到一个非常奇葩的情况就是当更新完docker镜像后,运行docker-compose up -d 出现了Bind for 0.0.0.0:xxxx failed: port is already allocated 的情况,通过netstat -ap | grep xxxx 之后发现时docker的某个进程一直占用这个端口而导致服务无法重新启动。

通过一系列的解决方法:

比如kill进程,重启docker等方式都没有成功。之后分享一个方法希望可以给遇到同样问题的同学一种解决思路。

sudo cp /var/lib/docker/network/files/local-kv.db /var/lib/docker/network/files/local-kv.db_bk
sudo rm /var/lib/docker/network/files/local-kv.db
sudo docker-compose up -d

补充:docker端口被占用解决方法 “port is already allocated”

docker启动程序显示 “port is already allocated”,尝试了以下方法

1. 通过重启docker

2. 重启电脑

3. 查看所占用的端口对应的程序,kill

4. stop和rm所有的docker程序

都不起作用。

解决的方法

是找到对应的工作目录下的docker-compose.yml文件,修改所占用的端口为其他端口就解决了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

你可能感兴趣的:(docker 无法释放端口的解决方案)