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

如何在Dockerfile中从需认证的Jenkins服务器下载文件?

解决Alpine镜像中BusyBox wget无法认证下载文件的问题

以下是几种可行的替代方案:

方案1:安装curl并使用其认证功能

Alpine的apk仓库提供完整支持用户名密码认证的curl工具,可按以下步骤修改Dockerfile:

RUN apk add --no-cache curl \
    && curl -u "$REPO_USERNAME:$REPO_PASSWORD" -o reqLoader-linux http://10.80.10.2/tools/puppeteer-v13/reqLoader-linux \
    && apk del curl # 可选:下载完成后删除curl以减小镜像体积

方案2:利用BusyBox wget支持的URL内嵌认证信息

BusyBox版wget虽不支持--password参数,但可将用户名和密码直接嵌入URL,格式为http://用户名:密码@目标地址,修改后的下载命令如下:

RUN wget -O reqLoader-linux "http://$REPO_USERNAME:$REPO_PASSWORD@10.80.10.2/tools/puppeteer-v13/reqLoader-linux"

注意:若密码包含@、:等特殊字符,需对这些字符做URL编码(例如@编码为%40,:编码为%3A),避免URL解析失败。

方案3:用Jenkins API Token替代密码(若支持)

如果你的Jenkins账号允许生成API Token,可使用「用户名+API Token」的组合替代普通密码,使用方式与上述两种方案一致,仅需将REPO_PASSWORD替换为对应API Token即可,这种方式比明文密码更安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:54:52