一、安转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