Docker 容器查看本地局域网 IP
在 Docker 容器内部,可以使用以下方法查看 IP 地址:
1. 查看容器的 IP
方法 1:使用 ip a
ip a
- 适用于大多数 Linux 发行版。
- 容器的 IP 通常属于
172.17.0.X
网段(默认bridge
网络)。
方法 2:使用 ifconfig
ifconfig
如果 ifconfig
不存在,可安装:
apt update && apt install -y net-tools # Ubuntu/Debian
yum install -y net-tools # CentOS
方法 3:仅显示 IPv4
hostname -I | awk '{print $1}'
- 如果有多个网卡,此命令返回第一个 IP。
2. 获取 Docker 容器的默认网关(宿主机 IP)
ip route | awk '/default/ {print $3}'
- 适用于
bridge
网络模式,返回docker0
的 IP(通常是172.17.0.1
)。
3. 在宿主机上查看容器 IP
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名或ID>
或者查看 bridge
网络中的所有容器:
docker network inspect bridge
4. 如果容器使用 host
网络
--network=host
模式下,容器和宿主机共享网络,容器 IP 和宿主机相同。- 在容器内运行:
结果与宿主机相同。ip a
总结
网络模式 | 查看 IP 方法 | 说明 |
---|---|---|
bridge (默认) |
ip a / hostname -I / docker inspect |
容器有独立 IP,通常是 172.17.x.x |
custom network |
docker network inspect <network> |
容器 IP 由 Docker 分配 |
host |
ip a |
IP 与宿主机相同 |