一、 卸载旧版冲突包(必须执行)

说明:Ubuntu 自带的 docker.io 版本滞后且与官方社区版互斥,必须先清理。

sudo apt remove -y docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc

二、 配置国内软件源(解决下载超时问题)

说明:由于国内网络环境,需使用阿里云或清华镜像站拉取安装包,并确保自动识别当前系统代号 resolute。

  1. 创建密钥存储目录并导入 GPG 密钥:

    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  2. 添加 Docker 仓库源(以阿里云为例,也可选择清华云):

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  3. 更新软件包索引:

    sudo apt update
    

三、 安装 Docker Engine

说明:推荐安装包含 Buildx 和 Compose 插件的完整组件,方便后续开发使用。

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

四、 启动服务与权限配置
  1. 启动 Docker 并设置开机自启(sudo systemctl status docker优先看看状态信息,如果没有启动和自启,就按下面的命令启动):

    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 将当前用户加入 docker 组(免 sudo 运行):

    sudo usermod -aG docker $USER
    newgrp docker
    

五、 配置国内镜像加速器(核心必做)

说明:不配置此步骤,后续拉取容器镜像(如 nginx, mysql)会因连接 Docker Hub 极慢而失败。

  1. 写入加速配置文件:

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
    EOF
    
  2. 重启 Docker 使配置生效:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

六、 验证安装是否成功
  1. 检查服务状态:

    sudo systemctl status docker
    # 预期输出:active (running)
    
  2. 验证镜像加速器是否生效:

    docker info | grep "Registry Mirrors" -A 2
    # 预期输出:包含上述配置的加速网址
    
  3. 运行测试容器:

    docker run --rm hello-world
    # 预期输出:Hello from Docker!
    

💡 笔记补充提示:

  • 如果执行第二步 apt update 时出现 404 Not Found,说明镜像站尚未同步 resolute 版本的仓库,可尝试将 aliyun 替换为 tuna.tsinghua.edu.cn(清华源)。
  • 新版 Docker Compose 已作为插件集成,直接使用 docker compose 命令即可,无需再单独安装 docker-compose。

更多推荐