在 Docker 容器中,每個容器都有自己的 IP 地址,這個 IP 地址是由 Docker 隨機分配的,稱為“內部 IP 地址”。那么,如何獲取 Docker 容器的內部 IP 地址呢?
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
這行代碼能夠獲取指定容器的內部 IP 地址。下面我們來解析一下這段代碼。
首先,我們使用docker inspect
命令來查詢容器信息,常用的選項是--format
,它可以指定我們要輸出的信息格式。接著,在--format
后邊是一個字符串,這個字符串使用了 Go 語言的模板語法,它的含義是:對于容器網絡設置中的每一個網絡,輸出該網絡的 IP 地址。
通過這個命令,我們可以獲取到一個容器的內部 IP 地址。如果我們需要獲取多個容器的內部 IP 地址,可以寫一個腳本來自動化執行這個命令。