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

macOS下Docker执行bootBuildImage遇github.com DNS超时错误

解决Docker中执行bootBuildImage时github.com DNS超时问题

你遇到的问题是Docker容器内DNS解析失败,导致Paketo Buildpack无法下载BellSoft Liberica JRE包。以下是几个可行的解决方案:

1. 修改Docker DNS配置

Docker默认的DNS服务器可能无法正常解析github.com,换成公共DNS即可:

  • 打开Docker Desktop,进入设置 -> Docker Engine
  • 在配置文件中添加/修改dns字段:
    {
      "dns": ["8.8.8.8", "114.114.114.114"]
    }
    
  • 点击应用 & 重启,然后重新执行构建命令。

2. 重启Docker服务

临时的DNS缓存或服务异常可能导致该问题,重启Docker即可:

  • 在Docker Desktop右上角菜单选择Restart,等待服务重启完成后重试构建。

3. 使用主机网络模式构建

让Docker容器直接使用主机的网络配置(包括DNS),执行构建时添加网络参数:

./gradlew bootBuildImage --docker-network host

4. 预下载JRE包并本地引用

手动下载所需的JRE包到本地,通过环境变量指定Buildpack使用本地文件:

  1. 下载包到本地路径(比如~/Downloads/bellsoft-jre20.0.1+10-linux-amd64.tar.gz)
  2. 执行构建时设置环境变量:
BP_JVM_INSTALL_URL=file:///Users/你的用户名/Downloads/bellsoft-jre20.0.1+10-linux-amd64.tar.gz ./gradlew bootBuildImage

为什么浏览器能下载但Docker不行?

主机浏览器使用的是macOS系统的DNS配置,而Docker容器默认使用独立的DNS设置,两者的DNS服务器可能不同,导致容器内无法解析github.com。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:46:11