📅  最后修改于: 2023-12-03 15:10:50.537000             🧑  作者: Mango
在 Docker 中,每个容器都有一个自己的 IP 地址。在开发和运维时,检查容器 IP 地址是非常常见的操作。本文将介绍如何检查 Docker 容器 IP 地址。
docker inspect
命令docker inspect
命令可以返回容器的详细信息,其中包括 IP 地址。
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <容器名称或 ID>
上述命令中,--format
参数用于指定输出格式,{{ .NetworkSettings.IPAddress }}
则是指获取容器 IP 地址。
示例:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' my-container
输出结果:
172.17.0.2
docker container inspect
命令docker container inspect
命令与 docker inspect
命令类似,也可以返回容器的详细信息,包括 IP 地址。
docker container inspect --format '{{ .NetworkSettings.IPAddress }}' <容器名称或 ID>
示例:
docker container inspect --format '{{ .NetworkSettings.IPAddress }}' my-container
输出结果:
172.17.0.2
注意,docker container inspect
命令从 Docker 18.09 版本开始支持。在旧版本中,应使用 docker inspect
命令。
docker network inspect
命令如果要查看容器所在的网络信息,可以使用 docker network inspect
命令。该命令可以返回指定网络的详细信息,其中包括所有连接到该网络的容器信息。
docker network inspect <网络名称或 ID>
示例:
docker network inspect bridge
输出结果:
[
{
"Name": "bridge",
"Id": "3cc29ec8481e5cb133040814c8831f257f3abc91930f44f89cdff93afe45bf17",
"Created": "2021-11-16T10:23:51.6434382Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"6f6f1c3f1584dc841232b1f1bea3ac2eccb2bb32705dc2581e3cc158b1a3546d": {
"Name": "my-container",
"EndpointID": "60f1a0c5ee5b240e68cb30309f6efae5d10fab3accfcbfaaf9fc8bfdb8a67266",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
在上述输出结果中,Containers
字段列出了连接到该网络的所有容器信息,包括容器名称、Endpoint ID、MAC 地址、IPv4 地址和 IPv6 地址。