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