查看 Docker 容器的 IP 地址有几种方法,这里列出了一些常见的方法:
方法一:使用 docker inspect
命令
docker inspect
命令可以提供容器的详细信息,包括 IP 地址。以下是具体步骤:
-
获取容器的 ID 或名称。可以通过
docker ps
命令查看正在运行的容器列表。docker ps
-
使用
docker inspect
命令获取容器的详细信息,并通过grep
或jq
工具过滤出 IP 地址。docker inspect <container_id_or_name> | grep '"IPAddress"' | head -n 1 | awk '{print $2}' | tr -d '",'
或者使用
jq
工具(如果已安装):docker inspect <container_id_or_name> | jq -r '.[0].NetworkSettings.IPAddress'
方法二:使用 docker inspect
命令结合网络名称
如果你知道容器所属的网络名称,可以更精确地获取 IP 地址:
docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}}: {{$value.IPAddress}}{{end}}' <container_id_or_name>
方法三:使用 docker exec
命令
你可以在容器内执行命令来获取其 IP 地址。例如,对于基于 Linux 的容器,可以使用 ip addr
命令:
-
获取容器的 ID 或名称。
docker ps
-
执行
ip addr
命令:docker exec <container_id_or_name> ip addr show eth0
方法四:使用 docker network inspect
命令
如果你知道容器所属的网络名称,可以使用 docker network inspect
命令来查看该网络下的所有容器及其 IP 地址:
-
获取网络名称。
docker network ls
-
查看网络详细信息:
docker network inspect <network_name>
在输出中,找到你的容器并查看其 IP 地址。
示例
假设你有一个正在运行的容器,其名称为 my_container
,你可以使用以下命令获取其 IP 地址:
docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}}: {{$value.IPAddress}}{{end}}' my_container
输出可能类似于:
bridge: 172.17.0.2
这表示 my_container
在 bridge
网络中的 IP 地址是 172.17.0.2
。