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

Windows 10 Docker Desktop执行RUN apk add openjdk17-jre报错问题

Docker构建错误解决思路

问题详情

我的Dockerfile内容如下:

FROM OURINTERNALREPO/xxxxx/alpine
USER root
RUN apk add --update
RUN apk add curl
RUN adduser -D -u 4001 appusr
RUN mkdir /app
RUN chown -R appusr:appusr /app
RUN apk add openjdk17-jre
USER appusr
WORKDIR /app

在Ubuntu服务器上执行以下命令可正常构建:

docker build -t testimage .

但在Windows 10的Docker Desktop上执行相同命令时,出现如下错误:

=> ERROR [7/8] RUN apk add openjdk17-jre                                                                                                                                                                  28.7s
------
 > [7/8] RUN apk add openjdk17-jre:
#10 0.521 (1/25) Installing java-common (0.5-r0)
#10 5.526 ERROR: java-common-0.5-r0: temporary error (try again later)
#10 5.526 (2/25) Installing libffi (3.4.4-r0)
#10 10.53 (3/25) Installing p11-kit (0.24.1-r1)
#10 10.53 ERROR: libffi-3.4.4-r0: temporary error (try again later)
#10 12.51 (4/25) Installing libtasn1 (4.19.0-r0)
#10 12.56 (5/25) Installing p11-kit-trust (0.24.1-r1)
#10 12.73 (6/25) Installing java-cacerts (1.0-r1)
#10 12.85 (7/25) Installing openjdk17-jre-headless (17.0.6_p10-r0)
#10 26.62 (8/25) Installing libxau (1.0.10-r0)
#10 26.65 (9/25) Installing libmd (1.0.4-r0)
#10 26.69 (10/25) Installing libbsd (0.11.7-r0)
#10 26.73 (11/25) Installing libxdmcp (1.1.4-r0)
#10 26.76 (12/25) Installing libxcb (1.15-r0)
#10 26.84 (13/25) Installing libx11 (1.8.4-r0)
#10 27.09 (14/25) Installing libxext (1.3.5-r0)
#10 27.14 (15/25) Installing libxi (1.8-r0)
#10 27.18 (16/25) Installing libxrender (0.9.11-r0)
#10 27.22 (17/25) Installing libxtst (1.2.4-r0)
#10 27.26 (18/25) Installing alsa-lib (1.2.8-r0)
#10 27.39 (19/25) Installing libbz2 (1.0.8-r4)
#10 27.50 (20/25) Installing libpng (1.6.38-r0)
#10 27.56 (21/25) Installing freetype (2.12.1-r0)
#10 27.67 (22/25) Installing giflib (5.2.1-r2)
#10 27.73 (23/25) Installing libjpeg-turbo (2.1.4-r0)
#10 27.84 (24/25) Installing lcms2 (2.14-r0)
#10 27.98 (25/25) Installing openjdk17-jre (17.0.6_p10-r0)
#10 28.32 Executing busybox-1.35.0-r29.trigger
#10 28.32 Executing ca-certificates-20220614-r4.trigger
#10 28.39 2 errors; 203 MiB in 43 packages
------
executor failed running [/bin/sh -c apk add openjdk17-jre]: exit code: 2

解决思路

  • 重试构建:错误提示"temporary error"大概率是临时网络波动导致,直接重新执行docker build -t testimage .即可。
  • 更换Alpine镜像源:Windows环境下可能访问默认源不稳定,在Dockerfile的RUN apk add --update前添加更换国内源的命令(注意替换对应Alpine版本,比如v3.17):
    RUN echo -e "https://mirrors.aliyun.com/alpine/v3.17/main/\nhttps://mirrors.aliyun.com/alpine/v3.17/community/" > /etc/apk/repositories
    
  • 检查Docker网络设置:打开Docker Desktop的设置,切换到「Resources」→「Network」,检查是否开启了不必要的代理,尝试关闭代理后重新构建;也可以切换到Windows容器模式再切回Linux容器,重置网络环境。
  • 优化Dockerfile的apk命令:将多个apk相关的RUN命令合并,同时添加--no-cache参数避免缓存问题,减少镜像层数的同时提升稳定性:
    RUN apk add --no-cache curl openjdk17-jre
    
  • 更新基础镜像:在Windows终端执行docker pull OURINTERNALREPO/xxxxx/alpine,拉取最新的内部Alpine基础镜像,避免旧镜像的源配置过期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:04:56