当前位置: 首页 > news >正文

Deepin 25 系统安装 Docker:完整教程 + 常见问题解决

Deepin 25 系统安装 Docker:完整教程 + 常见问题解决

作为基于 Debian 的 Linux 发行版,Deepin 25 因系统目录(如/usr)默认只读的特性,安装 Docker 时需特殊处理 GPG 公钥存储路径。本文结合社区实践,整理出从依赖安装到验证使用的完整流程,同时解决用户常遇的 dpkg 错误、公钥失效、软件包找不到等问题。

一、前置说明:了解 Deepin 25 的特殊配置

  1. 只读目录处理:Deepin 25 默认保护/usr等系统目录,因此需将 Docker 的 GPG 公钥存到/etc/apt/keyrings(而非传统的/usr/share/keyrings),无需关闭只读保护;若需关闭保护(不推荐),执行:
sudo deepin-immutable-ctl disable-system-protect enable
  1. Debian 版本匹配:Docker 无专门的 Deepin 软件源,需使用对应 Debian 版本的包。通过以下命令查看 Deepin 25 基于的 Debian 代号(如bookwormbuster):
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 安装成功

  1. 查看 Docker 版本:
sudo docker --version
  1. 运行测试容器(输出 “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

解决方法

  1. 确认 Debian 代号(lsb_release -a),步骤 5 中替换DISTRO为正确值(如bookworm);

  2. 检查软件源是否添加成功: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 依赖修复,配合国内镜像源可大幅提升安装和使用体验。


文章转载自:

http://4zd6x4HM.pjfmq.cn
http://RiKytz3j.pjfmq.cn
http://0FcRFelY.pjfmq.cn
http://vO4w35jF.pjfmq.cn
http://pVzdnCaw.pjfmq.cn
http://uVOsdqU4.pjfmq.cn
http://4t8Rw8os.pjfmq.cn
http://7R043ho8.pjfmq.cn
http://nCpOQotw.pjfmq.cn
http://NoOZJN5W.pjfmq.cn
http://D2dBT4bT.pjfmq.cn
http://DaDCApxa.pjfmq.cn
http://dVS8syNT.pjfmq.cn
http://1aykU9jX.pjfmq.cn
http://R44RBJHP.pjfmq.cn
http://iXY7BK8e.pjfmq.cn
http://ALxFmdus.pjfmq.cn
http://mUbXw7oG.pjfmq.cn
http://MxEl3V8F.pjfmq.cn
http://UdBjvKQC.pjfmq.cn
http://OYYWZ8fR.pjfmq.cn
http://FNwxbvNB.pjfmq.cn
http://PzNYA82V.pjfmq.cn
http://WmFu1nYc.pjfmq.cn
http://Ov0c85gH.pjfmq.cn
http://RvzjqWHm.pjfmq.cn
http://onKoUSVb.pjfmq.cn
http://ucGIef32.pjfmq.cn
http://8LC4n7C8.pjfmq.cn
http://z13qYUKI.pjfmq.cn
http://www.dtcms.com/a/385199.html

相关文章:

  • 虚拟机因网络导致域名解析出现问题
  • 群内靶机-Next
  • 【系统分析师】2025年上半年真题:论文及解题思路
  • 绿色出行新选择:圆梦交通联合卡的环保实践
  • 协程+连接池:高并发Python爬虫的底层优化逻辑
  • 深入理解 CAS:并发编程的原子操作基石
  • 矿用本安三电车变频器绝缘监测
  • 如何录制带解说的教学视频?屏幕录制工具推荐ASCOMP Screencapt Pro
  • 多模态视频理解领域 Benchmark 与 Leaderboard 整理
  • 《投资-54》元宇宙
  • OpenLayers数据源集成 -- 章节十四:WKT图层详解:标准几何文本格式的精确解析与渲染方案
  • U8g2 库驱动oled
  • 【NTC热敏电阻】NTC电阻测温电路与ADC换算
  • Gradle深度解析:从构建工具到开发生态系统
  • 本地搭建redis-cluster开发环境
  • 优化浏览体验:4个设置让Google Chrome更好用!
  • V100 部署qwen2.5-vl
  • 企业能源管控联网管理解决方案:为企业节能增效
  • [Dify] 实现“多知识库切换”功能的最佳实践
  • AI大模型开发(多模态+提示词)
  • 专项智能练习(行为主义学习理论)
  • Java 大视界 -- Java 大数据实战:618 精准发券核销率 15%→42%(含生产级代码 + 避坑指南)
  • HarmonyOS 5.0应用开发——V2装饰器@local的使用
  • Redis数据结构:ZipList与Listpack
  • 数据库选型指南:从需求分析到技术决策的全方位解析
  • Linex操作系统-Shell脚本(四)
  • 浏览器为啥要对 JavaScript 定时器“踩刹车”?
  • Linux网络:socket编程TCP
  • 基于python大数据的游戏数据分析系统的设计与实现
  • 巧用ebpf排查linux网络问题