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

求助:Alpine Linux源UNTRUSTED signature导致Docker构建失败

解决Alpine镜像APK签名验证失败问题

问题核心:你使用的Alpine 3.10版本过于老旧,官方密钥轮换后旧版APK工具无法验证新签名,且之前尝试的命令使用了与当前版本不兼容的Alpine v3.16源,导致修复无效。

方案1:修复现有基础镜像的仓库源与密钥

修改Dockerfile,替换为官方稳定源并安装对应版本的密钥包:

# Build runtime image
FROM microsoft/dotnet:2.2-aspnetcore-runtime-alpine

# 清空原有仓库,添加Alpine 3.10官方稳定源
RUN echo -e "http://dl-cdn.alpinelinux.org/alpine/v3.10/main\nhttp://dl-cdn.alpinelinux.org/alpine/v3.10/community" > /etc/apk/repositories
# 添加官方cdn的edge/testing源(替代原dl-4源)
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories

# 强制覆盖安装Alpine 3.10版本的密钥包,修复签名验证
RUN apk add --no-cache --force-overwrite alpine-keys@v3.10

# 执行更新和依赖安装
RUN apk update && apk add libgdiplus
RUN apk add --no-cache icu-libs

方案2:升级基础镜像(长期推荐)

.NET Core 2.2已停止官方支持,建议升级至受支持的.NET版本(如.NET 6/7/8)以获得更稳定的镜像环境。若暂时无法升级.NET,可更换为.NET 2.2对应的Alpine 3.12镜像(该版本密钥体系未受轮换影响):

# 使用Alpine 3.12的.NET 2.2镜像
FROM mcr.microsoft.com/dotnet/aspnet:2.2-alpine3.12

RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk add libgdiplus
RUN apk add --no-cache icu-libs

方案3:临时跳过签名验证(应急用,不推荐)

若需快速验证功能,可临时添加--allow-untrusted参数跳过签名验证,但此操作会引入安全风险,仅用于临时测试:

RUN apk update --allow-untrusted && apk add libgdiplus --allow-untrusted
RUN apk add --no-cache icu-libs

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:36:15