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

Windows11下Docker容器无法访问宿主机REST服务求解决方案

解决Windows 11 Docker容器调用宿主机REST服务的问题

针对你遇到的host.docker.internal无法解析、--network="host"在Windows容器环境不生效的问题,提供以下几种解决方案:

方案1:启动容器时手动映射host.docker.internal

运行容器时添加--add-host参数,强制将host.docker.internal指向宿主机网关:

docker run --add-host=host.docker.internal:host-gateway [你的容器镜像名]

此参数会自动将容器内的host.docker.internal解析为宿主机的IP地址,无需手动配置IP。

方案2:直接使用宿主机局域网IP

  1. 在Windows宿主机的命令提示符(cmd)中运行ipconfig,找到当前网络适配器的IPv4地址(例如192.168.3.10)。
  2. 在容器内将请求地址替换为该IP,例如:http://192.168.3.10:8380/api/。
  3. 确保宿主机防火墙已允许8380端口的入站请求,避免被拦截。

方案3:切换到WSL2后端的Linux容器模式

如果你的应用兼容Linux容器,可切换到WSL2后端以获得更好的网络兼容性:

  1. 打开Docker Desktop,进入Settings > General。
  2. 勾选Use the WSL 2 based engine,点击Apply & Restart重启Docker。
  3. 切换到Linux容器模式后,host.docker.internal会自动生效,直接使用该域名即可调用宿主机服务。

补充说明

Windows容器模式下,Docker的网络栈与宿主机完全隔离,因此默认不支持host.docker.internal解析,也无法使用--network="host"模式;而WSL2后端的Linux容器则与宿主机共享网络命名空间的部分特性,默认支持host.docker.internal。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:30:00