基于Ruby 2.4.3镜像构建Docker时Debian源拉取失败求助
解决方案
问题根源是ruby:2.4.3镜像基于Debian Jessie,这个版本已结束官方支持,原有的apt源地址(deb.debian.org、security.debian.org)不再提供服务,因此出现404错误。
你需要将apt源替换为Debian的存档源,修改后的Dockerfile如下:
FROM ruby:2.4.3 # 替换Debian Jessie的apt源为存档源 RUN echo "deb http://archive.debian.org/debian jessie main" > /etc/apt/sources.list && \ echo "deb http://archive.debian.org/debian jessie-updates main" >> /etc/apt/sources.list && \ echo "deb http://archive.debian.org/debian-security jessie/updates main" >> /etc/apt/sources.list # 执行更新和安装依赖 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
补充说明:
- 存档源
archive.debian.org保留了Debian旧版本的软件包,适配这类基于淘汰系统的镜像。 - 如果替换源后仍有包找不到的情况,可在
apt-get install命令后添加--allow-unauthenticated参数(存档源的签名可能已失效):RUN apt-get update -qq && apt-get install -y --allow-unauthenticated build-essential libpq-dev nodejs
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

