错误:http://dl-4.alpinelinux.org/alpine/edge/testing:不受信任的签名

Lip*_*sky 7 pipeline gitlab docker alpine-linux

我对此很陌生,但我继承了一个项目,其中运行时构建是使用 dockerfile 和如下命令创建的:

# Build runtime image

FROM microsoft/dotnet:2.2-aspnetcore-runtime-alpine

RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories;

RUN apk update && apk add libgdiplus

RUN apk add --no-cache icu-libs
Run Code Online (Sandbox Code Playgroud)

gitlab 管道显示了这一点:

Step 15/20 : RUN apk update && apk add libgdiplus

96 ---> Running in 95f8ebccb602

97fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz

98fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz

99fetch http://dl-4.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

100ERROR: http://dl-4.alpinelinux.org/alpine/edge/testing: UNTRUSTED signature

101WARNING: Ignoring APKINDEX.24c95890.tar.gz: No such file or directory

102v3.10.9-43-g3feb769ea3 [http://dl-cdn.alpinelinux.org/alpine/v3.10/main]

103v3.10.6-10-ged79a86de3 [http://dl-cdn.alpinelinux.org/alpine/v3.10/community]

1041 errors; 10355 distinct packages available

105Service 'api' failed to build: The command '/bin/sh -c apk update && apk add libgdiplus' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

我知道钥匙已经轮换,我必须以某种方式升级 alpine,但添加RUN upgrade, orRUN apk add -X https://dl-cdn.alpinelinux.org/alpine/v3.16/main -u alpine-keys不会改变任何东西。有人可以告诉我我需要做什么吗?

小智 12

是的,我们遇到了这个问题,这是因为 alpine linux Edge 签名密钥轮换了(链接,根据此官方公告)。您必须在Dockerfile.

apk add -X https://dl-cdn.alpinelinux.org/alpine/v3.16/main -u alpine-keys
Run Code Online (Sandbox Code Playgroud)

另一种方法是将基础映像(在您的情况下为 )升级microsoft/dotnet:2.2-aspnetcore-runtime-alpine到较新的版本。


Fla*_*oia 8

已解决- 您需要添加--allow-untrusted

RUN apk add -X https://nl.alpinelinux.org/alpine/edge/main -u alpine-keys --allow-untrusted

RUN echo "@edge http://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
RUN apk update
Run Code Online (Sandbox Code Playgroud)