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文件,修改所占用的端口為其他端口就解決瞭。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Docker Compose的安裝和使用步驟
- docker-compose創建網橋,添加子網,刪除網卡的實現
- Linux安裝Docker詳細教程
- docker-compose安裝yml文件配置方式
- 解決使用Docker Compose管理容器的問題