文章目錄
如何取得 Container 所使用的 Ip
雖然一般來說都會將 container 的服務透過 port mapping 的動作,讓外部直接透過 docker host ip 來使用 container 所提供的服務,並不需要刻意取得 container 真正使用的 ip
不過為了確認 container 服務正確 container ip 就有功用了,我們可以在 docker host 透過使用 container ip 來驗證服務正確性
取得 Windows container 內部 ip
語法
docker exec -it container_name_or_container_id ipconfig
範例
docker exec -it 7f ipconfig
取得 Linux container 內部 ip
方法一:直接針對 container 執行 ifconfig
語法
docker exec -it container_name_or_container_id ifconfig
範例
docker exec -it oracle-xe-11g ifconfig
方法二: container 未安裝 ifconfig 指令
為了節省 docker image 的空間,很多非必要的套件都會被省略, ifconfig 就是其一,這時候就得透過其他方式來取得 ip
語法 1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_container_id
範例
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' jenkins
語法 2
PowerShell 語法
docker inspect container_name_or_container_id | findstr '"IPAddress"'
bash 語法
docker inspect container_name_or_container_id | grep '"IPAddress"' | head -n 1
心得
docker 的使用與傳統 VM 的思維模式不同,常常會被以往的經驗所侷限而想要透過不合適的做法來解決 docker 遇到的問題,反而讓問題複雜化,不過這就是新技術導入時所需要克服與學習的
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-03
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。