用 Docker 做演示 选用一个使用 debian12 bookworm 作为基础镜像的 python 镜像 FROM python:3.11.5-bookworm RUN echo "deb http://mirror.sjtu.edu.cn/debian bookworm main non-free contrib" > /etc/apt/sources.list 打包镜像 docker build -t "ponponon/image_search_engine:2023.09.07.1" . 打开容器 docker run -it --rm ponponon/image_search_engine:2023.09.07.1 bash 查看镜像文件 alias ll="ls -alh" cd /etc/apt/ cat sources.list 内容如下: root@49008ea43dda:/etc/apt# cat sources.list deb http://mirror.sjtu.edu.cn/debian bookworm main non-free contrib 确实只有 sjtu 了 但是当我执行 apt update 的时候 root@49008ea43dda:/etc/apt# apt update Get:1 http://mirror.sjtu.edu.cn/debian bookworm InRelease [151 kB] Get:2 http://deb.debian.org/debian bookworm InRelease [151 kB] Get:3 http://mirror.sjtu.edu.cn/debian bookworm/main amd64 Packages [8906 kB] Get:4 http://mirror.sjtu.edu.cn/debian bookworm/non-free amd64 Packages [98.6 kB] Get:5 http://mirror.sjtu.edu.cn/debian bookworm/contrib amd64 Packages [54.3 kB] Get:6 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB] Get:7 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] Get:8 http://deb.debian.org/debian bookworm/main amd64 Packages [8906 kB] 59% [8 Packages 331 kB/8906 kB 4%]^C 为什么还会连接 `http://deb.debian.org/debian` 呢? * * * 是的,正如「Feng_Yu」所说,所以要加一行 `RUN rm -rf /etc/apt/sources.list.d/*` > 注意,海外不要删除,不然就废了。大陆要换成 aliyun 、中科大等 apt 镜像源的才需要这样操作 完整的: FROM python:3.11.5-bookworm RUN rm -rf /etc/apt/sources.list.d/* RUN echo "deb http://mirror.sjtu.edu.cn/debian bookworm main non-free contrib" > /etc/apt/sources.list RUN apt update