# Executing docker install script, commit: 7d96bd3c5235ab2121bcb855dd7b3f3f37128ed4
+ sh -c apt-get -qq update >/dev/null
E: The repository 'http://security.debian.org bullseye/updates Release' does not have a Release file.
E: The repository 'http://deb.debian.org/debian bullseye-backports Release' does not have a Release file.
用户在执行 Docker 安装脚本时遇到了 Debian 仓库的问题,提示 bullseye 的 security 和 backports 仓库没有 Release 文件。首先需要分析原因:bullseye 是 Debian 11,可能已经停止支持(LTS 支持到 2026 年,但可能用户的源配置有问题),或者源地址失效,或者网络问题导致无法获取 Release 文件。
首先,解决方案应该围绕修复 Debian 的软件源展开。步骤应该包括:
备份当前的源列表,避免误操作后无法恢复。
更新源列表,使用有效的 Debian bullseye 源(可能用户的源是旧的,或者使用了国内镜像源更稳定)。
清理 apt 缓存,避免旧的缓存干扰。
重新更新 apt,然后再执行 Docker 安装脚本。
还要考虑用户可能的场景:可能是在国内服务器,所以推荐使用国内镜像源(比如阿里云、清华源),这样速度更快,也更稳定。另外,需要确认用户的 Debian 版本确实是 bullseye,可以通过 lsb_release -a 或 cat /etc/debian_version 确认,但假设用户确实是 bullseye。
具体步骤:
第一步:备份原有源文件。
第二步:编辑 /etc/apt/sources.list,替换为有效的源。
第三步:更新 apt 缓存,解决 Release 文件问题。
第四步:重新执行 Docker 安装脚本。
还要注意可能的权限问题,需要用 sudo 执行。另外,Docker 的官方安装脚本可能需要依赖正确的 apt 源,所以先修复源是关键。
另外,可能用户的 bullseye-backports 源不需要,或者已经失效,可以注释掉,只保留 main、contrib、non-free 和 security 源。
现在组织步骤,确保清晰,用户可以一步步执行。
一、核心思路
备份原有失效的软件源配置
替换为 有效且稳定的 Debian Bullseye 源(推荐国内镜像源,速度更快)
清理 apt 缓存并重新更新
重新执行 Docker 安装脚本
二、具体操作步骤
1. 备份原有源配置(避免误操作后无法恢复)
bash
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 替换为有效源(国内镜像源优先,以阿里云为例)
编辑 /etc/apt/sources.list 文件,替换所有内容为以下镜像源(支持 Bullseye 且稳定):
sudo nano /etc/apt/sources.listbash
sudo tee /etc/apt/sources.list <<-'EOF'
# 阿里云 Debian Bullseye 源(main/contrib/non-free)
deb http://mirrors.aliyun.com/debian/ bullseye main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bullseye main contrib non-free
# 阿里云 Bullseye 更新源
deb http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
# 阿里云 Bullseye 安全更新源(替代官方 security.debian.org)
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free
EOF
若不在国内,可使用 Debian 官方源(替换上述内容):
bash
deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb http://deb.debian.org/debian-security bullseye-security main
deb-src http://deb.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
3. 清理 apt 缓存并重新更新
bash
# 清理旧缓存
sudo apt clean && sudo rm -rf /var/lib/apt/lists/*
# 重新更新源(此时不会再报 Release 文件错误)
sudo apt update -y
4. 安装 Docker 依赖(避免后续脚本报错)
bash
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
5. 重新执行 Docker 官方安装脚本
bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
三、验证安装
若脚本执行无报错,验证 Docker 是否正常运行:
bash
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version # 输出 Docker 版本即成功
四、常见问题补充
若仍提示 “Release 文件不存在”:
检查网络是否能访问镜像源(如
ping mirrors.aliyun.com)确认 Debian 版本确实是 Bullseye(执行
cat /etc/debian_version,输出11.x即为正确)若 Bullseye 已停止支持(2026 年后),建议升级到 Bookworm(Debian 12)
国内网络访问 Docker 官方源慢:
安装后配置 Docker 国内镜像加速(参考阿里云 / 网易云镜像加速文档
五、DNS更改
1.sudo nano /etc/resolv.conf
2. nameserver 1.1.1.1
nameserver 8.8.8.8