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

如何在Docker中结合host-gateway使用子域名访问本地服务?

容器内访问子域名localhost的解决方案

问题原因

subdomain.host-gateway并非Docker官方认可的特殊地址别名,Docker仅识别host-gateway作为主机网关地址的内置标识,因此直接配置带前缀的别名会触发IP地址无效的错误。

无额外工具的解决方案

方案1:直接映射子域名到host-gateway

修改docker-compose.yml的extra_hosts配置,直接将目标子域名指向host-gateway:

extra_hosts:
  - "subdomain.localhost:host-gateway"

配置完成后,容器内访问http://subdomain.localhost即可直接指向本地localhost服务。

方案2:绑定主机实际IP地址

若host-gateway在特定环境下存在兼容性问题,可直接替换为主机的实际局域网IP(例如192.168.3.10,需根据自身网络配置调整):

extra_hosts:
  - "subdomain.localhost:192.168.3.10"

方案3:临时命令行追加映射

无需修改配置文件,启动容器时通过命令行临时添加hosts映射:

docker-compose run --service-ports --add-host "subdomain.localhost:host-gateway" main

该方式仅对当前启动的容器生效,重启后失效,适合临时测试场景。

验证配置有效性

进入容器后执行以下命令,确认子域名已正确映射到主机地址:

ping subdomain.localhost

若能正常ping通主机IP,则说明配置生效,此时访问http://subdomain.localhost即可连接本地服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:45:23