在 CentOS 上升级 Docker(Docker Engine)版本,通常有两种常见场景:用 yum 仓库升级 和 离线/二进制升级。下面以最常见的 CentOS 7 / 8 使用 yum 仓库 为例说明。
docker version
或
rpm -qa | grep docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
数据(/var/lib/docker)不会删除
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
直接升级到最新版:
sudo yum update docker-ce docker-ce-cli containerd.io
或指定版本:
sudo yum install docker-ce-<VERSION> docker-ce-cli-<VERSION> containerd.io
sudo systemctl restart docker
sudo systemctl enable docker
docker version
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
yum install --downloadonly --downloaddir=./docker_rpms docker-ce docker-ce-cli containerd.io
rpm -Uvh *.rpm
/var/lib/dockerdocker-ce 官方源如果你能告诉我:
我可以给你更精确的升级命令。