Deepin 25 系统安装 Docker:完整教程 + 常见问题解决
作为基于 Debian 的 Linux 发行版,Deepin 25 因系统目录(如/usr
)默认只读的特性,安装 Docker 时需特殊处理 GPG 公钥存储路径。本文结合社区实践,整理出从依赖安装到验证使用的完整流程,同时解决用户常遇的 dpkg 错误、公钥失效、软件包找不到等问题。
一、前置说明:了解 Deepin 25 的特殊配置
- 只读目录处理:Deepin 25 默认保护
/usr
等系统目录,因此需将 Docker 的 GPG 公钥存到/etc/apt/keyrings
(而非传统的/usr/share/keyrings
),无需关闭只读保护;若需关闭保护(不推荐),执行:
sudo deepin-immutable-ctl disable-system-protect enable
- Debian 版本匹配:Docker 无专门的 Deepin 软件源,需使用对应 Debian 版本的包。通过以下命令查看 Deepin 25 基于的 Debian 代号(如
bookworm
或buster
):
lsb_release -a
注意:社区反馈 Deepin 25 多基于 Debian 12(代号
bookworm
),若教程中
buster
报错,需替换为
bookworm
。
二、分步安装:从依赖到验证的 10 个步骤
步骤 1:更新软件包索引
确保系统获取最新的软件包信息,避免后续安装依赖冲突:
sudo apt-get update
步骤 2:安装必要依赖
安装支持 HTTPS 源、GPG 密钥管理的工具,是添加 Docker 源的基础:
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
步骤 3:创建 GPG 公钥存储目录
因/usr
只读,新建/etc/apt/keyrings
目录存放 Docker 公钥:
sudo mkdir -p /etc/apt/keyrings
步骤 4:下载并添加 Docker GPG 公钥
从 Docker 官方获取公钥并转换为二进制格式(确保签名验证有效):
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-archive-keyring.gpg
若出现
curl: (56) Recv failure
(连接被重置),换国内网络或使用阿里云镜像公钥:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-archive-keyring.gpg
步骤 5:添加 Docker 软件源
根据 Deepin 基于的 Debian 代号,添加对应的 Docker APT 源(以bookworm
为例,替换buster
):
# 先定义Debian代号(根据lsb\_release -a结果修改,如bookworm/buster)DISTRO="bookworm"# 添加源并指定公钥验证echo "deb \[arch=amd64 signed-by=/etc/apt/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \$DISTRO stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
若用阿里云镜像源(速度更快),替换上述命令中的 URL 为:
https://mirrors.aliyun.com/docker-ce/linux/debian
步骤 6:再次更新 APT 索引
验证软件源和公钥是否配置正确,无NO_PUBKEY
错误则正常:
sudo apt update
若报错
NO_PUBKEY 7EA0A9C3F273FCD8
,重新执行步骤 4(公钥未正确下载)。
步骤 7:安装 Docker 核心组件
安装 Docker CE(社区版)、命令行工具及容器运行时:
sudo apt install -y docker-ce docker-ce-cli containerd.io
常见问题:若提示 “软件包 docker-ce 没有可安装候选”,检查步骤 5 中
DISTRO
是否与 Debian 代号匹配(如 Deepin 25 需用
bookworm
而非
buster
)。
步骤 8:验证 Docker 安装成功
- 查看 Docker 版本:
sudo docker --version
- 运行测试容器(输出 “Hello from Docker!” 即成功):
sudo docker run hello-world
若报错
Cannot connect to the Docker daemon
,执行步骤 10(启动 Docker 服务)。
步骤 9:(可选)允许普通用户运行 Docker
默认仅 root/sudo 用户可操作 Docker,添加当前用户到docker
组:
sudo usermod -aG docker \$USER
操作后需
注销并重新登录
,再执行
docker run hello-world
验证(无需 sudo)。
步骤 10:(可选)设置 Docker 开机自启
确保系统启动时自动启动 Docker 服务:
sudo systemctl enable docker # 开机自启sudo systemctl start docker # 立即启动
三、常见问题解决方案(社区高频问题整理)
问题 1:dpkg 错误(py3clean/py3compile 找不到)
报错示例:
/var/lib/dpkg/info/onboard.prerm: 6: py3clean: not founddpkg: 处理归档时出错:子进程返回错误状态 127
解决方法:安装 python3 基础工具包,修复脚本依赖:
sudo apt install -y python3-minimal# 修复dpkg残留问题sudo dpkg --configure -asudo apt -f install
问题 2:软件包找不到(docker-ce/docker-ce-cli 缺失)
报错示例:
E: 软件包 docker-ce 没有可安装候选E: 无法定位软件包 containerd.io
解决方法:
-
确认 Debian 代号(
lsb_release -a
),步骤 5 中替换DISTRO
为正确值(如bookworm
); -
检查软件源是否添加成功:
cat /etc/apt/sources.list.d/docker.list
,确保 URL 和代号正确。
问题 3:Docker 镜像拉取慢
优化方案:配置国内镜像源(如阿里云、1ms.run),编辑daemon.json
:
sudo vim /etc/docker/daemon.json
添加以下内容(保存后重启 Docker):
{"registry-mirrors": ["https://docker.1ms.run","https://registry.cn-hangzhou.aliyuncs.com"]
}
重启 Docker 使配置生效:
sudo systemctl daemon-reloadsudo systemctl restart docker
问题 4:二进制安装失败(ostree 影响)
用户反馈:Deepin 25 因ostree
(系统镜像管理工具),手动解压 Docker 二进制包无法正常使用。
建议:优先使用本文的 APT 安装方法,避免二进制安装的兼容性问题。
四、完整命令汇总(一键复制执行)
将以下命令复制到终端,根据注释修改DISTRO
,即可快速完成安装:
# 1. 更新索引+安装依赖
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common# 2. 创建公钥目录+下载公钥(用阿里云镜像加速)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-archive-keyring.gpg# 3. 添加Docker源(修改DISTRO为lsb_release -a显示的代号,如bookworm)
DISTRO="bookworm"
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian $DISTRO stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 4. 安装Docker+验证
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo docker run hello-world# 5. (可选)普通用户授权(执行后注销重登)
sudo usermod -aG docker $USER
五、小结
Deepin 25 安装 Docker 的核心是处理只读目录(公钥存/etc/apt/keyrings
)和匹配 Debian 代号(避免软件包缺失)。遇到问题时,优先检查公钥有效性、软件源配置和 dpkg 依赖修复,配合国内镜像源可大幅提升安装和使用体验。