今天遇到一個非常奇葩的情況就是當(dāng)更新完docker鏡像后,運(yùn)行docker-compose up -d 出現(xiàn)了Bind for 0.0.0.0:xxxx failed: port is already allocated 的情況,通過netstat -ap | grep xxxx 之后發(fā)現(xiàn)時docker的某個進(jìn)程一直占用這個端口而導(dǎo)致服務(wù)無法重新啟動。
通過一系列的解決方法:
比如kill進(jìn)程,重啟docker等方式都沒有成功。之后分享一個方法希望可以給遇到同樣問題的同學(xué)一種解決思路。
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
補(bǔ)充:docker端口被占用解決方法 “port is already allocated”
docker啟動程序顯示 “port is already allocated”,嘗試了以下方法
1. 通過重啟docker
2. 重啟電腦
3. 查看所占用的端口對應(yīng)的程序,kill
4. stop和rm所有的docker程序
都不起作用。
解決的方法
是找到對應(yīng)的工作目錄下的docker-compose.yml文件,修改所占用的端口為其他端口就解決了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。