Ubuntu 24.04 国内环境下 Docker 安装完整指南

8,347 阅读3分钟

Docker 作为目前最流行的容器化技术,在开发和部署中扮演着重要角色。在国内网络环境下,由于网络限制,直接使用官方源安装 Docker 往往会遇到下载缓慢或失败的问题。

系统要求与准备工作

系统要求

  • Ubuntu 24.04 LTS (Noble Numbat)
  • 64位系统架构(x86_64/amd64、armhf、arm64、s390x)
  • 内核版本 3.10 或更高
  • 至少 4GB 可用磁盘空间

预检查步骤

在开始安装前,建议进行以下检查:

# 检查系统版本
lsb_release -a

# 检查内核版本
uname -r

# 检查系统架构
dpkg --print-architecture

# 检查磁盘空间
df -h

方法 1:使用官方脚本自动安装(推荐)

这是最简单快捷的安装方法,特别适合需要快速部署的场景。

# 1. 下载官方安装脚本并使用阿里云镜像源
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 2. 启动 Docker 服务并设置开机自启
sudo systemctl enable --now docker

# 3. 验证安装是否成功
sudo docker run hello-world

脚本安装的优势

  • 自动检测系统版本和架构
  • 自动处理依赖关系
  • 安装过程简化,减少出错概率
  • 使用国内镜像源,下载速度快

方法 2:手动安装(适合自定义配置)

手动安装虽然步骤较多,但能根据需要进行自定义配置。

1. 清理旧版本

如果系统中曾经安装过 Docker 的旧版本,需要先进行清理:

# 卸载可能存在的旧版本 Docker
sudo apt remove docker docker-engine docker.io containerd runc

# 清理相关配置文件(可选)
sudo apt autoremove
sudo apt autoclean

2. 更新系统并安装依赖工具

# 更新软件包索引
sudo apt update

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

3. 添加 Docker 官方 GPG 密钥

使用国内镜像源来获取 GPG 密钥,提高下载成功率:

# 创建密钥存储目录
sudo install -m 0755 -d /etc/apt/keyrings

# 下载并添加 Docker 的官方 GPG 密钥(使用阿里云镜像)
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

4. 添加 Docker 软件源

配置 APT 软件源,使用国内镜像加速下载:

# 添加 Docker 软件源(使用阿里云镜像)
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker Engine

# 更新软件包索引
sudo apt update

# 安装 Docker CE、CLI 和 containerd
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 检查安装的版本
docker --version
docker compose version

6. 配置国内镜像加速器

为了提高 Docker 镜像的下载速度,编辑 /etc/docker/daemon.json 配置文件,需要配置国内镜像加速器:

因为一些限制,所以能用的加速源不多,欢迎大家分享可用的加速源。这里加速源不一定能用。

# 创建 Docker 配置目录(如果不存在)
sudo mkdir -p /etc/docker

# 编辑 daemon.json 配置文件
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run"
  ],,
  "dns": ["8.8.8.8", "8.8.4.4"]
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "overlay2"
}
EOF

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 重启 Docker 服务使配置生效
sudo systemctl restart docker

7. 验证安装

# 检查 Docker 服务状态
sudo systemctl status docker

# 运行测试容器
sudo docker run hello-world

# 查看 Docker 信息
sudo docker info

8. 设置开启自启动

Docker 开机自启动

sudo systemctl enable docker

检查状态:

sudo systemctl is-enabled docker  # 应返回 "enabled"

关闭开机自启动

sudo systemctl disable docker

常见问题与解决方案

1. 网络连接问题

如果在安装过程中遇到网络连接超时,可以尝试以下解决方案:

# 使用不同的镜像源
# 中科大镜像
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg

# 清华大学镜像
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg

2. 权限拒绝问题

# 如果遇到权限问题,确保 Docker 服务正在运行
sudo systemctl start docker

# 检查用户是否在 docker 组中
groups $USER

3. 容器运行问题

# 检查 Docker 守护进程状态
sudo systemctl status docker

# 查看 Docker 日志
sudo journalctl -u docker.service

# 检查存储驱动是否正常
docker info | grep "Storage Driver"

Docker Compose 安装与使用

现代 Docker 安装已经包含了 Docker Compose 插件,但如果需要独立安装:

# 检查是否已安装 Docker Compose
docker compose version

# 如果未安装,手动安装
sudo apt install docker-compose-plugin

# 或者使用 pip 安装(需要先安装 Python)
pip install docker-compose

完全卸载 Docker

如果需要完全卸载 Docker:

# 停止所有运行的容器
docker stop $(docker ps -aq)

# 删除所有容器
docker rm $(docker ps -aq)

# 删除所有镜像
docker rmi $(docker images -q)

# 卸载 Docker 软件包
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 删除相关目录和文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker

# 删除软件源配置
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.gpg

# 清理用户组设置
sudo deluser $USER docker