You need to enable JavaScript to run this app. 本地执行docker build命令失败,apk安装redis报错如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

本地执行docker build命令失败,apk安装redis报错如何解决?

问题根因

本次构建失败的核心原因是Alpine镜像内置的软件源SSL证书校验失败,导致apk包管理器无法正常拉取软件源索引文件,最终无法定位到redis安装包。常见触发场景如下:

  • 本地网络存在代理/防火墙规则,拦截了Alpine官方源的SSL请求
  • 使用的Alpine 3.14版本较旧,内置根证书已过期
  • 宿主机系统时间异常,导致SSL证书有效期校验不通过
修复方案

按优先级尝试以下操作即可解决问题:

方案1:更新根证书修复校验问题

修改Dockerfile的RUN语句,先更新系统根证书再安装redis:

# Use an exisiting docker image as a base
FROM alpine

# Download and install a dependency
RUN apk add --update --no-cache ca-certificates && update-ca-certificates \
    && apk add --update redis

#Tell the image what to do when it starts as a container
CMD ["redis-server"]

如果仍报错可临时增加跳过证书校验参数:
RUN apk add --update --no-cache --allow-untrusted ca-certificates && update-ca-certificates && apk add --update redis

方案2:替换为国内Alpine软件源

如果是网络访问海外源不稳定导致的问题,直接替换为国内源即可:

FROM alpine

# 替换为阿里云Alpine源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk add --update redis

CMD ["redis-server"]

方案3:升级基础镜像版本

如果是旧版本Alpine证书过期导致,直接使用更高版本的Alpine镜像即可,修改FROM语句:
FROM alpine:3.20

方案4:检查本地环境配置

如果上述方案都无效,排查本地配置:

  • 确认Docker代理配置正确,没有错误拦截HTTPS请求
  • 确认宿主机系统时间和时区正确,时间偏差过大也会导致SSL校验失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 10:18:02