docker映射端口出錯的解決辦法:1、切換到root賬戶;2、通過“netstat -nap”命令查看程序運行的pid;3、通過“kill -9 2901 su u260517”命令殺死程序并切換程序即可。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用
本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker映射端口出錯怎么辦?
docker 映射端口出錯解決
一、問題
docker run -itd --name hyperlpr_fastapi -p8668:8668 hyperlpr_fastapi:v1.0
登錄后復制
運行docker 鏡像 出現端口綁定已經使用的問題:
docker: Error response from daemon: driver failed programming external connectivity on endpoint hyperlpr_fastapi (646d9ef9ad18cab0a5dd981d8fd2280f010d62c2b7c06dd1c17370fceeebfe86): Error starting userland proxy: listen tcp 0.0.0.0:8668: bind: address already in use.
登錄后復制
二、解決方法
切換到root賬戶,netstat -nap 查看程序運行的pid,查找8668端口,可以發現確實被占用了,記住PID
當然也可以直接找到某個端口是否被占用,命令:netstat -nap | grep 8668
su root # 切換到root賬戶 netstat -nap | grep 8668 # 查看pid tcp 0 0 0.0.0.0:8668 0.0.0.0:* LISTEN 2901/python tcp 540778 0 127.0.0.1:54836 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54740 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54820 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54792 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54742 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54766 127.0.0.1:8668 CLOSE_WAIT 24527/python
登錄后復制
kill PID,殺死該進程 ,這里是kill 0
kill -9 2901 # 殺死程序 su u260517 # 切換到普通用戶
登錄后復制
推薦學習:《docker視頻教程》