前言
在容器化技術主導云原生時代的今天,Docker 憑借其輕量化、高移植性和秒級部署能力,已成為開發與運維的必備工具。然而,國內用戶在 Ubuntu 系統上安裝 Docker 時,常因 ?官方鏡像源訪問受限、網絡延遲高、依賴包安裝失敗 等問題陷入困境,導致效率大幅降低。
本文針對 ?Ubuntu 22.04 LTS(Jammy)及 24.04 LTS(Noble)? 系統,結合國內網絡環境特性,提供一套 ?開箱即用、高效穩定 的 Docker 部署方案。
一、安裝前的環境準備
1. 系統要求
? 操作系統:Ubuntu 22.04 LTS(Jammy)或 24.04 LTS(Noble)
? 權限要求:sudo
權限
? 網絡要求:需訪問國內鏡像源(如阿里云、清華源)
2. 清理舊版本(如適用)
sudo apt-get remove docker docker-engine docker.io containerd runc
二、安裝 Docker CE 社區版
1. 更新系統與安裝依賴
# 更新軟件包索引
sudo apt-get update
# 安裝基礎依賴
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
2. 配置國內鏡像源與密鑰
(阿里云示例)
# 添加 GPG 密鑰(阿里云鏡像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker 倉庫(適配當前系統版本)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
注意:$(lsb_release -cs)
會自動獲取系統代號(如 jammy
或 noble
)
3. 安裝 Docker 引擎
# 更新倉庫并安裝 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 驗證安裝
# 啟動服務并設置開機自啟
sudo systemctl start docker
sudo systemctl enable docker# 運行測試容器
sudo docker run hello-world
若輸出 Hello from Docker!
表示安裝成功
三、國內鏡像加速配置
1. 配置鏡像加速器
編輯 /etc/docker/daemon.json
,添加國內鏡像源地址:
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io", # DaoCloud鏡像"https://docker.1ms.run" # 公益鏡像(可選)]
}
EOF
重啟服務生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
驗證配置:
docker info | grep "Registry Mirrors"
需顯示配置的鏡像地址
四、權限管理與優化
1. 非 root 用戶權限
將當前用戶加入 docker
組,避免使用 sudo
:
sudo usermod -aG docker $USER
newgrp docker # 刷新組權限
2. 存儲路徑優化(可選)
若需自定義 Docker 存儲目錄(如掛載大容量磁盤):
# 創建存儲目錄并軟鏈接
sudo mkdir -p /data/docker
sudo ln -s /data/docker /var/lib/docker
五、常見問題與解決方案
1. 安裝依賴報錯
? 錯誤示例:E: Unable to locate package docker-ce
? 原因:鏡像源未正確適配系統版本或倉庫未啟用
? 解決:重新檢查倉庫配置,確保 $(lsb_release -cs)
輸出與鏡像源支持的版本匹配
2. 鏡像拉取失敗
? 原因:加速器地址失效或網絡不穩定
? 解決:更換鏡像源(優先使用騰訊云或阿里云),并檢查防火墻規則:
# 臨時關閉防火墻(僅測試用)
sudo ufw disable
3. 服務啟動失敗
? 錯誤示例:Failed to start docker.service
? 排查步驟:
# 查看詳細日志
journalctl -u docker.service --no-pager
# 檢查存儲驅動兼容性(推薦 overlay2)
docker info | grep "Storage Driver"
六、擴展功能
1. Docker Compose 安裝
sudo apt-get install -y docker-compose-plugin
驗證:docker compose version
2. Portainer 可視化工具部署
docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
訪問 http://<IP>:9000
初始化管理界面
總結
本文基于國內網絡環境,從依賴安裝到鏡像加速配置,完整覆蓋了 Docker 在 Ubuntu 系統上的部署流程,并針對常見問題提供解決方案。通過結合阿里云、騰訊云等鏡像源,可顯著提升安裝與鏡像拉取效率,滿足開發與生產環境需求