Linux内核之外的运维宇宙
Linux运维实战笔记:从系统架构到自动化运维

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. **镜像源稳定性**:定期检查镜像加速器的有效性,避免因源失效导致拉取失败。
posted on 2025-10-16 09:57  一叶舟-小刀哥  阅读(41)  评论(0)    收藏  举报