You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Docker容器内获取宿主机原生localhost的IP地址?

从Docker容器内部获取宿主机原生localhost IP的方法

当然可以实现啦!不过具体的获取方式会根据宿主机操作系统以及Docker的网络配置略有不同,下面给你整理几种实用的方法:

  • Linux 环境下
    在Linux系统中,Docker默认会将宿主机设为容器的网关,你可以通过这条命令直接获取宿主机在Docker网桥中的IP(对容器来说,这个IP就等价于宿主机的"localhost"):

    ip route show default | awk '/default/ {print $3}'
    
  • macOS/Windows 环境下
    Docker Desktop针对这两个系统做了特殊适配,你可以直接使用内置的特殊域名 host.docker.internal 来访问宿主机,它会自动解析到宿主机的localhost IP。如果需要获取具体的IP地址,也可以用以下命令解析:

    ping host.docker.internal -c 1 | awk '/PING/ {print $3}' | sed 's/[()]//g'
    
  • 自定义网络或特殊场景
    如果你的容器使用了自定义网络,或者需要更稳定的传递方式,还可以在启动容器时通过环境变量直接把宿主机IP注入进去:

    # Linux 环境启动命令
    docker run -e HOST_IP=$(ip route show default | awk '/default/ {print $3}') your-image-name
    
    # macOS/Windows 环境启动命令
    docker run -e HOST_IP=host.docker.internal your-image-name
    

    启动后在容器内部直接读取环境变量 $HOST_IP 就能拿到宿主机的IP了。

⚠️ 注意:容器内部的localhost是容器自身的回环地址,和宿主机的localhost完全不是一回事,所以不能直接用容器里的localhost访问宿主机上的服务哦。

内容的提问来源于stack exchange,提问作者user2323240

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:31:22