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

Mac M1 Pro平台Docker构建时apt-get install报Unexpected end of file错误

解决M1 Pro上Docker构建apt-get下载EOF错误的方案

1. 替换国内Debian镜像源

原官方源deb.debian.org在部分网络环境下下载不稳定,容易出现截断导致EOF错误。直接在Dockerfile里替换为国内镜像(比如阿里云):

FROM python:3.8-slim

# 替换Debian官方源为阿里云镜像
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list

RUN apt-get update && apt-get -y upgrade && \
    apt-get -yqq install gcc && \
    # 清理缓存,减少镜像体积
    apt-get clean && rm -rf /var/lib/apt/lists/*

2. 强制使用IPv4访问源

部分网络的IPv6链路不稳定,导致下载中断。给apt添加强制IPv4的配置:

FROM python:3.8-slim

# 强制apt使用IPv4
RUN echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4

RUN apt-get update && apt-get -y upgrade && \
    apt-get -yqq install gcc && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

3. 给apt操作添加重试机制

单次网络波动可能导致下载失败,给apt的update、upgrade、install命令添加重试参数:

FROM python:3.8-slim

# 给apt操作增加重试次数,避免单次网络失败
RUN apt-get update -o Acquire::Retries=3 && \
    apt-get -y upgrade -o Acquire::Retries=3 && \
    apt-get -yqq install gcc -o Acquire::Retries=3 && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

4. 指定Debian具体版本的源分支

python:3.8-slim对应Debian bullseye版本,直接写入该版本的稳定源,避免源索引同步问题:

FROM python:3.8-slim

# 写入bullseye版本的阿里云源
RUN echo "deb http://mirrors.aliyun.com/debian bullseye main contrib non-free" > /etc/apt/sources.list && \
    echo "deb http://mirrors.aliyun.com/debian bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \
    echo "deb http://mirrors.aliyun.com/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list

RUN apt-get update && apt-get -y upgrade && \
    apt-get -yqq install gcc && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:22:37