卸载旧版本docker
如果你之前安装了非官方的包,在安装docker之前需卸载可能冲突的、旧的包,如:
docker.io
docker-compose
docker-doc
podman-docker
此外,Docker Engine 依赖于 containerd
和 runc
. 现在Docker Engine 这些依赖整合成了一个独立的包: containerd.io
. 如果你此前安装了containerd
或者 runc
,你需要将他们卸载。
执行以下命令来快速卸载:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
apt-get
可能会返回未安装它们的信息。你使用了旧版本运行的镜像,容器,卷和网络都储存在 /var/lib/docker/
,它们不会在你卸载旧版本时自动删除。 如果你想要干净地安装新版docker,并且想要清除之前所有数据,阅读 uninstall Docker Engine 。
使用apt源安装
在你安装 Docker Engine之前,你需要设置 Docker apt
源,之后,你可以从这个源安装和升级docker engine。
- 设置 Docker 的
apt
源
# 添加 Docker's 官方的 GPG key: sudo apt-get update sudo apt-get 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 # 添加 repository 到 Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
2. 安装最新的Docker packages
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 通过运行hello-world
镜像来验证你是否正确安装docker:
sudo docker run hello-world
这个命令会下载一个测试镜像并产生一个容器运行,成功运行后会打印出信息并退出。
通过脚本来安装
默认安装稳定版:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh --dry-run
官方提醒:
- 此脚本需要 root 权限或使用 sudo 命令提权才能运行。
- 脚本尝试检测您的 Linux 发行版和版本,并为您配置包管理系统。
- 脚本不允许您自定义大多数安装参数。 脚本在安装依赖项和推荐项时不会要求确认。
- 根据您主机的当前配置,这可能会安装大量的包。
- 默认情况下,脚本会安装 Docker、containerd 和 runc 的最新稳定版本。
- 使用此脚本配置机器时,可能会导致 Docker 出现意外的主要版本升级。
- 在将升级部署到生产系统之前,请始终在测试环境中测试升级。
- 脚本不旨在升级现有的 Docker 安装。
- 使用脚本更新现有安装时,依赖项可能无法更新到预期版本,导致版本过时。