問題引入:在一個已啟動了N多個容器Linux操作系統(tǒng)的宿主機上,新啟動一個映射到宿主機端口號為portM的容器時,提示端口被占用。
向來,喜歡提供2中方法~
方法1:啰嗦一點,向上使用逐級查找到使用該端口號的容器ID
分析步驟:
1)根據(jù)提示占用的端口號portM找到占用端口號的進程,例如:查找占用443端口號的進程
2)根據(jù)PID查找到使用的程序
3)根據(jù)2)中的PID查找到使用父進程PPID的程序
4)根據(jù)3)中的PID繼續(xù)向上查找到使用父進程PPID的程序
5)根據(jù)4)中的PID繼續(xù)向上查找到使用父進程PPID的程序
至此,已經(jīng)找到使用該父程序的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文章
950瀏覽量
31988 -
容器
+關注
關注
0文章
492瀏覽量
22028
原文標題:干貨 | Docker容器:如何根據(jù)監(jiān)聽端口號查找到對應容器?
文章出處:【微信號:ZTEdeveloper,微信公眾號:中興開發(fā)者社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論