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

企业代理环境下Paketo构建Spring Boot镜像遇代理连接拒绝问题求助

解决Paketo Buildpacks代理环境下无法下载BellSoft JDK的问题

手动传递代理变量到构建环境

Paketo Buildpacks不会自动继承宿主机代理变量或读取Docker配置,需在构建时显式注入:

pack build your-image-name \
  --env HTTP_PROXY=http://localhost:3128 \
  --env HTTPS_PROXY=http://localhost:3128 \
  --env NO_PROXY=localhost,127.0.0.1

注意:若使用Docker Desktop,需把localhost替换为宿主机内网IP(如192.168.x.x),容器内的localhost指向自身,无法访问宿主机的cntlm服务。

验证容器对代理的可达性

先测试容器能否访问cntlm代理,排除网络连通问题:

docker run --rm -e HTTP_PROXY=http://localhost:3128 ubuntu:20.04 wget -O - https://github.com/bell-sw/Liberica/releases/download/17.0.8+7/bellsoft-jdk17.0.8+7-linux-amd64.tar.gz

如果测试失败,执行以下操作:

  • 修改cntlm监听地址:编辑/etc/cntlm.conf,将Listen改为0.0.0.0:3128,重启服务:
    sudo systemctl restart cntlm
    
  • 开放防火墙端口:
    sudo ufw allow 3128/tcp
    

配置Paketo代理配置文件

在项目根目录创建.paketo/proxy/config文件,内容如下:

http-proxy=http://localhost:3128
https-proxy=http://localhost:3128
no-proxy=localhost,127.0.0.1

构建时挂载该配置到容器:

pack build your-image-name --volume "$(pwd)/.paketo/proxy:/platform/env"

检查Gradle全局代理配置

确保~/.gradle/gradle.properties中配置了代理,Paketo会读取该配置:

systemProp.http.proxyHost=localhost
systemProp.http.proxyPort=3128
systemProp.https.proxyHost=localhost
systemProp.https.proxyPort=3128
systemProp.http.nonProxyHosts=localhost|127.0.0.1
systemProp.https.nonProxyHosts=localhost|127.0.0.1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:30:03