首页/云/Docker 容器速查/容器访问宿主服务:host-gateway
本包目录(366 条)
基础命令50 条镜像与构建107 条网络与存储52 条Compose 编排55 条资源与安全50 条
容器排障52 条

容器访问宿主服务:host-gateway

容器内 127.0.0.1 是容器自己:访问宿主服务要用网关地址;Linux 上用 --add-host=host.docker.internal:host-gateway 显式映射(Docker 20.10+)。

Docker 容器速查云更新于 2026-10-12
语义127.0.0.1 ≠ 宿主
方案--add-host 映射 host.docker.internal
前提宿主服务监听地址覆盖容器源(勿只绑 127.0.0.1)

示例

示例
docker run --rm --add-host=host.docker.internal:host-gateway alpine getent hosts host.docker.internal
docker run --rm --add-host=host.docker.internal:host-gateway curlimages/curl:8.8.0 -sS http://host.docker.internal:9000/health
宿主服务只监听 127.0.0.1 时容器无法直连,需要改为监听 docker0 网关地址或对外地址并配合访问控制。

易错点

  • Linux 上 host.docker.internal 并非开箱可用,加了 --add-host 才稳定
  • 把宿主服务放宽到 0.0.0.0 前先确认访问控制,容器网络其他节点也可能可达它

数据来源与参考

  • Docker 官方文档:host.docker.internal 与 host-gateway(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌