构建php:7.0.13-fpm镜像遇apt源404错误,求解决方案
解决思路
问题根源
Debian Jessie(8.x)是已停止官方支持的老旧版本,原官方源deb.debian.org和security.debian.org已下架Jessie的软件包索引,因此触发404错误。
修复步骤
将apt源替换为Debian官方归档源(archive.debian.org,用于保存停止支持版本的软件包),修改后的Dockerfile如下:
FROM php:7.0.13-fpm # 替换为Debian Jessie归档源 RUN echo "deb http://archive.debian.org/debian jessie main contrib non-free" > /etc/apt/sources.list && \ echo "deb http://archive.debian.org/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list && \ echo "deb http://archive.debian.org/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list # 安装依赖时跳过过期签名检查(归档源部分包签名已失效) RUN apt-get update --allow-unauthenticated && apt-get install -y --allow-unauthenticated \ build-essential \ libpng-dev
额外说明
--allow-unauthenticated参数用于跳过apt的签名验证,因为归档源的部分软件包签名已过期,这是适配老旧源的临时方案。- 注意:PHP 7.0和Debian Jessie均已停止安全更新,存在严重安全隐患,若非业务强制要求,应尽快升级到受支持的PHP版本(如8.2+)和Debian版本(如12)。
内容的提问来源于stack exchange,提问作者rholdberh
相关产品推荐
相关产品推荐

