Debian安装Docker
卸载旧版本的冲突包
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)
Docker Engine 依赖于 containerd 和 runc,Docker Engine 将这些依赖捆绑成一个包:containerd.io,如果安装了 containerd 或 runc,先卸载以避免和新的Docker Engine版本冲突。此外 docker.io docker-compose docker-doc podman-docker 这些都不是Docker官方的包,都需要先卸载。
因此,需要卸载的包如下:
docker.iodocker-composedocker-docpodman-dockercontainerdrunc
安装
使用apt仓库
搭建 Docker 的 apt 仓库
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
安装Docker包
- 安装最新版本
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 安装具体版本
apt list --all-versions docker-ce
docker-ce/bookworm 5:29.1.5-1~debian.12~bookworm <arch>
docker-ce/bookworm 5:29.1.4-1~debian.12~bookworm <arch>
...
选择所需版本,例如:
VERSION_STRING=5:29.1.5-1~debian.12~bookworm
sudo apt install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
- 查看Docker服务是否在运行
sudo systemctl status docker
如果没有启动,手动启动
sudo systemctl start docker
卸载Docker Engine
- 卸载
Docker Engine、CLI、Containerd、Docker Compose包:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
- 删除所有 image、volume、container
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
- 移除
apt的源代码列表和钥匙圈
sudo rm /etc/apt/sources.list.d/docker.sources
sudo rm /etc/apt/keyrings/docker.asc