Administrator
发布于 2026-05-27 / 10 阅读
0

Ubuntu24.04 安装docker

一、安转docker

检查是否已经安装docker,如已经安装则先进行删除

停止服务
sudo systemctl stop docker docker.socket containerd
sudo systemctl disable docker docker.socket containerd
卸载所有相关包
sudo apt purge -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin \
  docker-ce-rootless-extras

清理残余数据
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
sudo rm -rf /etc/containerd

清理源和密钥
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.asc

删除docker 组
sudo groupdel docker

验证是否删除干净
which docker
docker --version
systemctl status docker

安装docker

更新软件包索引
sudo apt update

安装依赖包
sudo apt install -y ca-certificates curl


创建用于存储 GPG 密钥的目录
sudo install -m 0755 -d /etc/apt/keyrings

下载 GPG 密钥
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

更改秘钥文件权限
sudo chmod a+r /etc/apt/keyrings/docker.asc

添加docker 软件源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新源列表
sudo apt update


安装最新版本docker及其相关组件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证是否开机自启
systemctl is-enabled docker

注:若要指定安装的docker版本

# 列出所有可安装的 docker-ce 版本
apt-cache madison docker-ce

输出类似:

docker-ce | 5:28.0.1-1~ubuntu.22.04~jammy | ...
docker-ce | 5:27.4.0-1~ubuntu.22.04~jammy | ...
docker-ce | 5:27.3.1-1~ubuntu.22.04~jammy | ...
安装指定版本

sudo apt install -y \
  docker-ce=5:27.4.0-1~ubuntu.22.04~jammy \
  docker-ce-cli=5:27.4.0-1~ubuntu.22.04~jammy \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

# 锁定当前版本,apt upgrade 不会自动升 docker-ce
sudo apt-mark hold docker-ce docker-ce-cli

docker --version
docker-ce --version

二替换国内镜像源

sudo vim /etc/docker/daemon.json


{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "http://hub-mirror.c.163.com",
    "https://docker.nju.edu.cn"
  ]
}


sudo systemctl restart docker

添加当前用户到用户组,默认情况下只有root才能操作docker,其他用户需要加上sudo命令

查看用户组
grep docker /etc/group

添加当前用户
sudo usermod -aG docker $USER

切换到docker组
newgrp docker