Docker构建报错:apt-get update执行失败(退出码100)求助
排查Docker中apt-get update报错exit code 100的问题
核心误区先澄清
Dockerfile里的RUN指令默认以root用户执行,安装sudo完全没必要,这个操作对解决apt-get update报错没有帮助。
常见排查方向及解决方法
替换APT镜像源
原镜像自带的官方源可能存在网络不通或已失效的情况,直接替换为国内稳定源:# Debian系镜像替换为阿里云源 RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && apt-get update# Ubuntu系镜像替换为阿里云源 RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && apt-get update修复DNS解析问题
容器内DNS配置错误会导致无法访问源服务器,可手动指定公共DNS:RUN echo "nameserver 8.8.8.8" > /etc/resolv.conf && apt-get update适配归档系统版本
若基础镜像基于已停止维护的旧版本系统(如Debian 9、Ubuntu 18.04),官方源已归档,需替换为归档源:# 以Debian 9为例 RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list && apt-get update清除构建缓存
Docker构建时的旧缓存可能导致源配置未更新,执行构建时跳过缓存:docker build --no-cache .
内容的提问来源于stack exchange,提问作者Mm M
相关产品推荐
相关产品推荐

