如何获取 docker 容器 IP
本文记录了几种获取 Docker 容器的 IP 地址的方式。
Docker 网络解释
首先来了解一下 Docker
的网络是如何工作的。首先是默认的bridge
网络。当使用 Docker
时,如果没有指定其它驱动默认会使用桥接网络。
Docker 容器的 IP 地址
默认情况下,会为连接到容器的每个 Docker 网络分配一个IP地址,并为每个网络分配一个默认的子网掩码,用作稍后分配 IP的地址池。
通常 Docker 默认使用 172.17. 0.0/16 作为容器网络的子网。
使用 Docker Inspect
Docker inspect 是检索 Docker 对象底层信息的很棒的方式。可以以非常简单的方式在返回的 JSON 里找出想要的字段。
1 | docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 75000c343eb7 |
75000c343eb7 为实际容器的 id,输入 id 只要保证唯一即可,不必全部输入。
使用 Docker exec
1 | docker exec redis cat /etc/hosts |