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