最近在安裝 Docker 時發現,怎麼使用 yum install -y docker 安裝的 Docker 版本都會是 Docker version 1.13.1 (官網),這版本已經是 2017年2月8日,好舊的版本,目前官方都已經更新到 Docker version 20.10.3 (官網) 2021年2月1日。
整理了一下,如何將舊版本強制更新至最新版流程。
使用的OS為 CentOS7
一、確認目前的版本
可使用以下指令確認,並記錄目前已安裝的套件docker -v or docker versionrpm -qa | grep docker
[root@web ~]# docker -v Docker version 1.13.1, build 0be3e21/1.13.1 [root@web ~]# rpm -qa | grep docker docker-common-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-client-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-1.13.1-203.git0be3e21.el7.centos.x86_64
二、使用 yum remove 移除安裝套件
說明 yum command [packages]
command:
install:安裝
reinstall:重新安裝
update:升級,若要整個系統都升級,後不接套件
remove:移除
執行以下指令進行移除三個套件yum remove docker-common-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-client-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-1.13.1-203.git0be3e21.el7.centos.x86_64
[root@83-swoft ~]# yum remove docker-common-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-client-1.13.1-203.git0be3e21.el7.centos.x86_64 docker-1.13.1-203.git0be3e21.el7.centos.x86_64
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
: manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 2:1.13.1-203.git0be3e21.el7.centos will be erased
---> Package docker-client.x86_64 2:1.13.1-203.git0be3e21.el7.centos will be erased
---> Package docker-common.x86_64 2:1.13.1-203.git0be3e21.el7.centos will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Removing:
docker x86_64 2:1.13.1-203.git0be3e21.el7.centos @extras 65 M
docker-client x86_64 2:1.13.1-203.git0be3e21.el7.centos @extras 13 M
docker-common x86_64 2:1.13.1-203.git0be3e21.el7.centos @extras 4.4 k
Transaction Summary
================================================================================
Remove 3 Packages
//=============(略)===============//
Removed:
docker.x86_64 2:1.13.1-203.git0be3e21.el7.centos
docker-client.x86_64 2:1.13.1-203.git0be3e21.el7.centos
docker-common.x86_64 2:1.13.1-203.git0be3e21.el7.centos
Complete!
三、執行 Curl 更新至最新版本
執行指令 curl -fsSL https://get.docker.com/ | sh
[root@web ~]# curl -fsSL https://get.docker.com/ | sh
# Executing docker install script, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sh -c 'yum install -y -q yum-utils'
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
Loaded plugins: fastestmirror, product-id, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
: manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
* base: free.nchc.org.tw
* extras: free.nchc.org.tw
* updates: free.nchc.org.tw
base | 3.6 kB 00:00
docker-ce-stable | 3.5 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/10): docker-ce-stable/7/x86_64/filelists_db | 24 kB 00:00
(2/10): docker-ce-stable/7/x86_64/primary_db | 55 kB 00:00
(3/10): docker-ce-stable/7/x86_64/updateinfo | 55 B 00:00
(4/10): docker-ce-stable/7/x86_64/other_db | 117 kB 00:00
(5/10): extras/7/x86_64/filelists_db | 225 kB 00:00
(6/10): updates/7/x86_64/other_db | 454 kB 00:00
(7/10): extras/7/x86_64/other_db | 135 kB 00:00
(8/10): base/7/x86_64/other_db | 2.6 MB 00:00
(9/10): updates/7/x86_64/filelists_db | 3.4 MB 00:00
(10/10): base/7/x86_64/filelists_db | 7.2 MB 00:01
Metadata Cache Created
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
警告:/var/cache/yum/x86_64/7/docker-ce-stable/packages/containerd.io-1.4.3-3.1.el7.x86_64.rpm: 表頭 V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for containerd.io-1.4.3-3.1.el7.x86_64.rpm is not installed
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
From : https://download.docker.com/linux/centos/gpg
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.
四、重新啟動 Docker
執行指領 service docker restart 及查看版本 docker -v
確認已更新最新版本 20.10.3
[root@web ~]# service docker restart Redirecting to /bin/systemctl restart docker.service [root@web ~]# docker -v Docker version 20.10.3, build 48d30b5