欢迎光临易鼎网
详情描述

1. 检查并更新软件源

# 更新包列表
sudo apt update
sudo apt upgrade -y

# 查看系统版本
lsb_release -a

2. 添加官方Docker仓库

# 安装必要的依赖
sudo apt install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加Docker仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新包列表
sudo apt update

3. 如果官方源有问题,尝试使用国内镜像源

方案A:使用阿里云镜像

# 备份原源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# 编辑源列表(根据你的Ubuntu版本选择合适的代号)
# 使用nano、vim或其他编辑器
sudo nano /etc/apt/sources.list

# 添加阿里云Docker源(替换$(lsb_release -cs)为实际版本,如jammy、focal等)
echo \
  "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker-aliyun.list

方案B:使用清华镜像

echo \
  "deb [arch=$(dpkg --print-architecture)] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker-tuna.list

4. 如果仍然失败,手动修改系统版本代号

有时Ubuntu版本太新或太旧,需要手动指定支持的版本:

# 查看当前系统代号
lsb_release -cs

# 如果是新版本(如23.10、24.04),尝试使用上一个LTS版本代号
# 编辑Docker源文件,将 $(lsb_release -cs) 替换为支持的版本:
# Ubuntu 22.04 → jammy
# Ubuntu 20.04 → focal
# Ubuntu 18.04 → bionic

# 示例:如果系统是24.04但Docker尚未支持,可以尝试使用jammy
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list

5. 安装Docker

# 再次更新包列表
sudo apt update

# 安装Docker
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 验证安装
sudo docker --version

6. 常见问题排查

错误:Release file for ... is not valid yet

# 同步系统时间
sudo timedatectl set-ntp true
sudo hwclock --hctosys

错误:GPG error

# 重新导入GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用备用安装脚本

# 如果上述方法都失败,使用官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

7. 安装后的配置

# 添加当前用户到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER
newgrp docker  # 或在重新登录后生效

# 启动Docker服务
sudo systemctl enable docker
sudo systemctl start docker

# 测试运行
docker run hello-world

快速检查脚本

#!/bin/bash
# 检查系统信息
echo "=== 系统信息 ==="
lsb_release -a
echo -e "\n=== 软件源中的docker包 ==="
apt-cache search docker-ce | head -5
echo -e "\n=== 当前docker源配置 ==="
cat /etc/apt/sources.list.d/docker* 2>/dev/null || echo "未找到docker源"

注意:执行完这些步骤后,建议重启终端或执行 newgrp docker 以使组更改生效。