Centos安裝docker需要作業系統是 CentOS 7 or 8,必須啟用centos extras儲存庫。預設情況下,此儲存庫處於啟用狀態,但如果已禁用它,則需要重新啟用它。
解除安裝舊版本
老版本的docker被稱作docker 或者 docker-engine,如果有老版本的docker,把它和相關依賴一起解除安裝。
$ remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安裝步驟
官方推薦使用通過設定docker倉庫的方法來安裝,安裝和升級都簡單些。
1 設定docker倉庫
第一次安裝的時候需要設定docker倉庫,後面就可以利用該倉庫進行安裝和升級docker。
需要先安裝 yum-utils
包,它可以提供yum-config-manager
工具和配置穩定的倉庫。
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2 安裝docker引擎
安裝最新版docker引擎和容器,或者去下一步制定一個版本安裝:
$ yum install docker-ce docker-ce-cli containerd.io
如果提示接受GPG key,驗證是否是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果是,就接受。
如果啟用了多個Docker儲存庫,則在不在yum install或yum update命令中指定版本的情況下,安裝或更新總是安裝可用的最高版本,這可能不適合您的穩定性需要。
上面的命令安裝好了最新版的docker,但是還沒有啟動服務,docker組也被建立好了,但是還沒有使用者分配到該組。
3 安裝指定版本的docker引擎
列出倉庫可用的所有版本,然後選擇安裝,下面命令把列出的結果進行倒序排序:
[root@iZbp180j96p8y98l1s1oucZ ~]# yum list docker-ce --showduplicates | sort -r
Last metadata expiration check: 0:32:38 ago on Fri 28 May 2021 06:17:26 PM CST.
Installed Packages
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
Available Packages
通過下面命令指定要安裝的版本,例如,對於3:20.10.6-3.el8
,它的版本號是:
到-
中間的部分,也就是: 20.10.6
$ yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
用版本號替換一下,上面的命令就是:
$ yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io
4 啟動docker
$ systemctl start docker
5 執行hello-world
為了驗證docker正確安裝並正常啟動,執行自帶的hello-world
映象。
$ docker container run hello-world
如果這個hello-world
映象預設不存在,會自動下載,然後執行這個image。