本文旨在記錄如何通過rpm升級docker
環(huán)境
- centos7
- docker1.13.1(當前版本)
- docker-ce 19.03.13(目標版本)
當前版本卸載
- 確認當前版本的docker package:
[root@k8s2 ~]# rpm -qa | grep docker
docker-client-1.13.1-208.git7d71120.el7_9.x86_64
docker-common-1.13.1-208.git7d71120.el7_9.x86_64
docker-1.13.1-208.git7d71120.el7_9.x86_64
- 刪除當前包
rpm -e docker-1.13.1-208.git7d71120.el7_9.x86_64
rpm -e docker-client-1.13.1-208.git7d71120.el7_9.x86_64
rpm -e docker-common-1.13.1-208.git7d71120.el7_9.x86_64
- 刪除確認
rpm -qa | grep docker
- 此時應(yīng)該沒有內(nèi)容表示
目標版本安裝
- 下載目標版本rpm包
wget http://docker-release-purple-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.13-3.el7.x86_64.rpm
- 升級
rpm -Uvh docker-ce-19.03.13-3.el7.x86_64.rpm
-
安裝與升級時有依賴鏈存在,如果依賴包不存在,會提示下載依賴包:
エラー: 依存性の欠如: containerd.io >= 1.2.2-3 は docker-ce-3:19.03.13-3.el7.x86_64 に必要とされています docker-ce-cli は docker-ce-3:19.03.13-3.el7.x86_64 に必要とされています
這里按要求下載安裝containerd.io和docker-ce-cli。如果有其他依賴項,照如下操作做相同處理即可。
# containerd.io
wget http://docker-release-purple-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.el7.x86_64.rpm
rpm -Uvh containerd.io-1.2.2-3.el7.x86_64.rpm
# docker-ce-cli
wget http://docker-release-purple-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.13-3.el7.x86_64.rpm
rpm Uvh docker-ce-cli-19.03.13-3.el7.x86_64.rpm
- 安裝完成確認
[root@k8s2 ~]# rpm -qa | grep docker
docker-ce-19.03.13-3.el7.x86_64
docker-ce-cli-19.03.13-3.el7.x86_64
[root@k8s2 ~]# docker -v
Docker version 19.03.13, build 4484c46d9d
啟動docker service
systemctl daemon-reload
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service