docker inspect for container ip address返回两个串联的ip地址值

docker inspect for container ip address返回两个串联的ip地址值,docker,gitlab-ci,gitlab-ci-runner,dind,Docker,Gitlab Ci,Gitlab Ci Runner,Dind,我正在尝试使用下面的inspect命令获取docker容器的IP地址。但是,它返回两个串联的IP地址值 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $CONTAINER_ID 172.17.0.2172.18.0.2 如何获得单个正确的IP地址 请注意,我在Docker中使用Docker运行gitlab管道。上面的容器是父容器。您根本不需要这些IP地址;在Docker内部,您可以使用容

我正在尝试使用下面的inspect命令获取docker容器的IP地址。但是,它返回两个串联的IP地址值

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $CONTAINER_ID
172.17.0.2172.18.0.2

如何获得单个正确的IP地址


请注意,我在Docker中使用Docker运行gitlab管道。上面的容器是父容器。

您根本不需要这些IP地址;在Docker内部,您可以使用容器名称作为主机名,在Docker外部,您可以连接到容器的已发布端口(
Docker run-p
options)。如果容器(或真正的服务器)位于多个网络上,那么它具有多个IP地址也是合理的。如果你有这些地址,你会怎么处理它们?@DavidMaze谢谢你的回复。我将IP作为环境变量传递给嵌套容器,在容器启动时将该值注入到spring启动应用程序中。spring引导应用程序将使用此IP访问父容器中运行的wiremock实例。请注意,这是集成测试执行的一部分。另外,请注意,我正在运行的环境是Linux。因此host.docker.internal值不起作用。我想这个解析为上面列表中的第一个IP(172.17.0.2)。尝试使用第二个IP,呼叫成功。