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 依賴修復,配合國內鏡像源可大幅提升安裝和使用體驗。