运行报错-java.net.UnknownHostException: failed to resolve 'host.docker.internal'

August 28, 2025 / Nick / 8阅读 / 0评论 / 分类:

背景

听闻网上配置访问宿主机,只需要配置 : host.docker.internal

然后就报错: java.net.UnknownHostException: failed to resolve 'host.docker.internal'

原因

host.docker.internal 是 Docker 提供的一个特殊 DNS 名称,用于从容器内部访问宿主机(也就是运行 Docker 的那台机器)上的服务(比如本地数据库、API 接口等)。

但它 不是在所有平台都默认支持:

✅ Docker Desktop(Mac / Windows):默认支持 host.docker.internal

❌ Linux 上的 Docker Engine(如 Ubuntu、CentOS):默认不支持,必须手动配置

处理

两种处理方式

docker run:

添加配置

--add-host=host.docker.internal:host-gateway

示例:

docker run \
  --add-host=host.docker.internal:host-gateway \
  your-java-image

docker-compose配置:

添加配置:

    extra_hosts:
      - "host.docker.internal:host-gateway"

示例:

services:
  your-java-app:
    image: your-java-image
    extra_hosts:
      - "host.docker.internal:host-gateway"

文章作者:Nick

文章链接:https://nick.xin//2025/08/28/yun-xing-bao-cuo-java.net.unknownhostexception-failed-to-resolve-host.docker.internal

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!


评论