查看 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。