How to discover the IP address and interface for a docker container 這篇主要講述如何取得docker container的IP位置與網路界面資訊。當你的docker container中並沒有安裝IP相關的工具程式,無法透過docker exec的方式執行ip相關的工具程式來取得IP位置與網路界面資訊,並且該網路界面的IP設定與docker DHCP預設配發的不一樣的時候,你可以這樣做。 Step 1 取得network namespace file # docker inspect abay-test -f "{{.NetworkSettings.SandboxKey}}" 假設我們要取得的docker container的名稱為abay-test,執行這行指令後會得到/var/run/docker/netns/6f6c87265050 Step 2. 建立network namespace連結 # ln -s /var/run/docker/netns/6f6c87265050 /var/run/netns/6f6c87265050 這個檔案會在下次重新開機的時候就會不見 Setp 3. 在指定namespace下執行ip a # ip netns exec 6f6c87265050 ip a 輸出的結果 abay@vm-01:~$ sudo ip netns exec 6f6c87265050 ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 87: eth0@if88: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP