Mat*_*som 6 docker docker-buildkit buildx
我的组织使用 http/https 代理。到互联网的流量必须通过此代理路由。
我们正在为构建和推送 docker 镜像的 jenkins 管道添加多架构支持。HTTP_PROXY 和 HTTPS_PROXY 环境变量是为 docker 设置的,适用于常规 docker 构建,但是当尝试使用该命令构建多个体系结构时docker buildx build,我看到以下错误
无法解决:rpc 错误:代码 = 未知 desc = amazoncorretto:11:无法执行请求:头“https://registry-1.docker.io/v2/library/amazoncorretto/manifests/11”:拨打 tcp 44.207。 96.114:443:I/O 超时
它在本地工作。我确信这是因为流量不是通过代理路由的。我尝试通过 driver-opt 和 build-arg 设置它。
在 StackOverflow 上找不到任何答案后,我搜索了一些其他资源。您需要使用 driver opts 指定代理,但您需要指定网桥的 IP,例如
docker buildx create --use --driver-opt env.http_proxy=172.17.0.1:3128 --driver-opt env.https_proxy=172.17.0.1:3128 --driver-opt '"env.no_proxy='$no_proxy'"'
docker buildx build ...
Run Code Online (Sandbox Code Playgroud)
您还需要配置代理(例如 CNTLM)以接受此 IP 上的连接。