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号