无需创建Docker网络,如何从API容器直接连接相邻容器?
解决方案
方法一:直接访问目标容器的内部IP+端口
默认情况下,Docker的bridge网络(容器默认加入的网络)允许同一宿主机上的容器通过容器内部IP直接互通,无需额外创建网络或修改网络配置。
因为你的API容器挂载了/var/run/docker.sock,可以直接通过Docker CLI或Docker SDK获取目标容器的内部IP:
- 在API容器内执行命令获取IP:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <目标容器ID或名称> - 拿到IP后,直接用该IP加上目标容器的内部服务端口(不是映射到主机的端口)发起请求即可,比如:
http://172.17.0.3:8080
方法二:通过宿主机网关地址访问映射端口
如果已经知道目标容器映射到主机的端口,也可以通过宿主机在Docker默认bridge网络中的网关地址访问:
- Docker默认bridge网络的网关地址通常是
172.17.0.1(可在API容器内执行ip route查看默认路由确认); - 直接用该网关地址加上目标容器的主机映射端口访问,比如:
(注:如果是Docker Desktop环境,也可以用http://172.17.0.1:3000host.docker.internal替代网关地址,该地址会自动指向宿主机)
内容的提问来源于stack exchange,提问作者Exdet
相关产品推荐
相关产品推荐

