我正在使用此代码将 docker 主机 ip 注入到我的容器中。它似乎有效,但我不确定具体ip route list
是什么,这是否适用于其他环境,以及 ip 参数是否始终是第 9 个。
docker_host_ip=$(ip route list | grep docker0 | awk '{print $9}')
docker_compose="
version: '3.5'
services:
app:
extra_hosts:
- dockerhost:$docker_host_ip
"
echo "$docker_compose" | docker-compose \
-f docker-compose.yml \
-f /dev/stdin \
up
答案1
这看起来是可靠的。这ip route list
将显示系统上配置的所有路由,并且该src
属性限制目标 IP 的潜在来源,在本例中为 docker0 IP(有关更多信息,请参阅此处src
:ip route 显示源字段)。
另一种方法是通过ifconfig docker0
或获取网络接口详细信息ip a show dev docker0
。