Ubuntu系統安裝 Docker文檔
一、刪除舊版/殘留Docker
為了方便后續的docker正常安裝于配置,需要要徹底刪除 Linux 系統上的 Docker 及相關殘留。
!!! warning "重要警告"
- **數據丟失**:操作會刪除所有 Docker 鏡像、容器和卷,請提前備份
- **依賴檢查**:若其他程序依賴 Docker(如 Kubernetes),請謹慎操作
- **Snap 安裝用戶**:需額外執行 `sudo snap remove docker`
如果你已經清楚了以上注意事項,并做好了重要數據(鏡像、容器等)的備份工作,可以按照以下步驟操作:
1.卸載 Docker 相關包
# 停止Docker服務
sudo systemctl stop docker
# 卸載Docker軟件包
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker.io podman-docker
# 刪除依賴包(可選,會刪除未被其他程序使用的依賴)
sudo apt-get autoremove --purge
# 檢查殘留包
dpkg -l | grep docker
2. 刪除 Docker 數據目錄
# 刪除根目錄
sudo rm -rf /var/lib/docker /var/lib/containerd
# 刪除配置文件
sudo rm -rf /etc/docker /etc/containerd
3. 清理殘留文件
# 查找并刪除相關文件
sudo find / -name "*docker*" -exec rm -rf {} \; 2>/dev/null
# 刪除補全文件
sudo rm -f /etc/bash_completion.d/docker
4. 清理用戶組
# 刪除docker組(若無依賴)
sudo groupdel docker
# 移除用戶組成員
sudo gpasswd -d $USER docker
5. 清理系統服務
# 刪除服務文件
sudo rm -f /etc/systemd/system/docker.service /etc/systemd/system/docker.socket
# 重載配置
sudo systemctl daemon-reload
6. 驗證刪除結果
docker --version # 應提示"command not found"
ps aux | grep docker # 不應顯示進程
ls /var/lib/docker # 應提示目錄不存在
二、檢查主機情況
1. 系統信息確認
cat /etc/os-release # 確認為Ubuntu
2. Docker安裝檢查
docker --version
dpkg -l | grep docker # Ubuntu檢查
rpm -qa | grep docker # CentOS檢查
3. 內核版本驗證(可選)
uname -r # 需≥3.10
docker官方文檔中要求操作系統的版本至少為Linux內核3.10及以上,以確保Docker能夠正常運行。如果你的系統內核版本號小于3.10,則需要升級內核。
三、安裝 Docker
1. 配置ubuntu鏡像源
# 備份源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 配置清華源(編輯/etc/apt/sources.list)
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 安裝依賴
sudo apt update
sudo apt-get install -y ca-certificates curl gnupg
2. 添加 Docker 倉庫
使用 Docker 官方源
# 創建密鑰環目錄
sudo install -m 0755 -d /etc/apt/keyrings
# 添加GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加倉庫源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
使用阿里云鏡像源(推薦國內用戶)
# 創建密鑰環目錄
sudo install -m 0755 -d /etc/apt/keyrings
# 添加GPG密鑰
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加倉庫源
UBUNTU_CODENAME=$(lsb_release -cs)
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$UBUNTU_CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 作用:GPG 密鑰用于驗證軟件包來源的合法性。
3. 安裝 Docker 引擎
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
組件說明:
docker-ce: Docker 社區版核心docker-ce-cli: 命令行工具containerd.io: 容器運行時docker-buildx-plugin: 多平臺構建插件docker-compose-plugin: Compose 集成插件
4. 非 root 用戶配置
sudo usermod -aG docker $USER # 將當前用戶加入 docker 組
newgrp docker # 立即生效(或重啟系統)
效果:無需 sudo 直接運行 docker 命令
5. 國內鏡像加速配置
# 配置鏡像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://ccr.ccs.tencentyun.com",
"https://docker.rainbond.cc",
"https://docker.nju.edu.cn"
]
}
EOF
# 重啟服務
sudo systemctl daemon-reload
sudo systemctl restart docker
6. 驗證安裝
sudo systemctl is-active docker # 應返回 "active"
basudo docker info | grep -A 1 'Registry Mirrors'
sudo systemctl status docker
sudo docker run hello-world
四、可選操作
安裝獨立版 Docker Compose
sudo apt install -y docker-compose
提示:若已安裝
docker-compose-plugin,此步驟可跳過。
鎖定 Docker 版本(防止自動更新)
sudo apt-mark hold docker-ce
參考鏈接
### ?? 注意事項
1. **系統版本匹配**:Ubuntu 24.04 的版本代號為 `noble`,需確保 `$UBUNTU_CODENAME` 解析正確。
2. **防火墻與網絡**:國內用戶建議優先使用阿里云鏡像源,避免因網絡問題導致下載失敗。
3. **權限問題**:添加 `docker` 組后需重新登錄使權限生效。
4. **鏡像源穩定性**:定期檢查鏡像加速器的有效性,避免因源失效導致拉取失敗。
浙公網安備 33010602011771號