問題引入:在一個已啟動了N多個容器Linux操作系統的宿主機上,新啟動一個映射到宿主機端口號為portM的容器時,提示端口被占用。
向來,喜歡提供2中方法~
方法1:啰嗦一點,向上使用逐級查找到使用該端口號的容器ID
分析步驟:
1)根據提示占用的端口號portM找到占用端口號的進程,例如:查找占用443端口號的進程
2)根據PID查找到使用的程序
3)根據2)中的PID查找到使用父進程PPID的程序
4)根據3)中的PID繼續向上查找到使用父進程PPID的程序
5)根據4)中的PID繼續向上查找到使用父進程PPID的程序
至此,已經找到使用該父程序的docker容器,容器號為:f41ce0c15a91b544641b5e461fc9750aa7da03b4aea7ae62d96a965428e2134d
6)驗證容器是否使用了443端口,停止該容器,443端口釋放,未占用
方法1雖然方法1可以清晰我們的查找過程,但是是不是覺得很笨,很麻煩?!那么下面試試這個簡單的方法吧
方法2:docker inspect
同方法1的1),2)步,查找到使用該443端口的父進程PID 35512,然后使用docker inspect -f '{ {.State.Pid} } { {.ID} }' $(docker ps -a -q) |grep
-
端口
+關注
關注
4文章
964瀏覽量
32079 -
容器
+關注
關注
0文章
495瀏覽量
22062
原文標題:干貨 | Docker容器:如何根據監聽端口號查找到對應容器?
文章出處:【微信號:ZTEdeveloper,微信公眾號:中興開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論