前言
本文詳細介紹了如在Centos系統(tǒng)上安裝Docker的社區(qū)版本,為后面搭建學習和測試環(huán)境提供了基礎。
什么是Centos
CentOS(Community Enterprise Operating System,社區(qū)企業(yè)操作系統(tǒng))是Linux發(fā)行版之一,它是來自于 Red Hat Enterprise Linux 依照開放源代碼規(guī)定釋出的源代碼所編譯而成。
由于出自同樣的源代碼,因此有些要求高度穩(wěn)定性的服務器以CentOS替代商業(yè)版的Red Hat Enterprise Linux使用。兩者的不同,在于CentOS完全開源。
什么是Docker
Docker類似虛擬機,是一個開源的引擎,可以輕松的為任何應用創(chuàng)建一個輕量級的、可移植的、自給自足的容器。讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機器上。
Docker分兩個版本:
- CE(Community Edition)
- EE(Enterprise Edition)
CE版本是免費的,如果我們學習或者一般應用,CE足夠。EE版本在安全性上有很大提升,是收費版本,可以試用一定時間。
Docker容器和虛擬機的主要區(qū)別在于,虛擬機管理程序對整個設備進行抽象處理,而容器只是對操作系統(tǒng)內(nèi)核進行抽象處理。相對于虛擬機,容器可以“丟棄沒有用的99.9%的虛擬機垃圾,剩下一個小巧簡潔的膠囊式容器,里面含有你的應用程序”。
安裝流程
下面將介紹使用yum安裝Docker。
yum介紹
Yum(全稱為 Yellow dog Updater, Modified)是一個在 Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。
基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
卸載舊版本
較舊的Docker版本稱為docker或docker-engine。如果已安裝這些程序,請卸載它們以及相關的依賴項。
sudo yum docker, docker-client, docker-common
sudo yum remove docker, docker-client, docker-client-latest, docker-common, docker-latest , docker-latest-logrotate, docker-logrotate , docker-engine
更新yum
此條命令升級所有包還有內(nèi)核
yum -y update
若不升級內(nèi)核,可輸入
yum -y upgrade
Centos7裝Docker的坑
如果你的版本選擇的是Centos7,恭喜你只要一步就可以安裝完畢.
yum -y install docker
安裝完畢后,直接跳到驗證步驟吧。
別急別急,先別跳,這個默認安裝的docker版本號為1.13.1。
查閱相關資料,Docker是在1.13.1后正式推出企業(yè)版(2017年),版本號也從此發(fā)生了變化,由原來的1.13.1升級到了17.03(即表示17年3月),從此Docker有了docker-ee和docker-ce之分。
前者為企業(yè)版,后者為社區(qū)版。社區(qū)版是免費提供給個人開發(fā)者和小型團體使用的,企業(yè)版會提供額外的收費服務,比如經(jīng)過官方測試認證過的基礎設施、容器、插件等。
再回頭來看,這個1.13.1這個版本已經(jīng)比較老了,2017年出的,現(xiàn)在都2020年了。所以裝了此版本的,執(zhí)行上面的卸載命令,裝免費的社區(qū)版本吧。要不然遇到一些版本bug,讓你哭死!
好了,Centos8的用戶等著不耐煩了,開始安裝社區(qū)版本了。
安裝必備依賴項
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-util提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的包。
添加yum的源
為了安裝docker的社區(qū)版本,需要給yum添加源,這里提供兩種方式:
1.添加國內(nèi)源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.添加官方源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
這兩個源下載的docker-ce.repo是一樣的,執(zhí)行上述其中一條命令后,就生成了 /ect/yum.repos.d/docker-ce.repo 這個文件,查看里面的內(nèi)容,如圖1所示。

可以看到只有 [docker-ce-stable] 是啟用的,即enabled=1,其他諸如 docker-ce-edge、docker-ce-test 都是禁用的。
在這里說明一下,stable是Docker的一個版本意思,社區(qū)版按照stable和edge兩種方式發(fā)布,每個季度更新stable版本,每個月份更新edge版本。
另外,test版本是預發(fā)布版本,也就是下一個大版本的測試作品。
如果需要啟動docker-ce-edge,需要執(zhí)行以下命令:
sudo yum-config-manager --enable docker-ce-edge
執(zhí)行完后,再打開文件,可以看到 docker-ce-edge的enabled=1 了。
如果要禁用,通過命令:
sudo yum-config-manager --disable docker-ce-edge
安裝Docker CE
確保成功添加源以后,可以愉快地安裝Docker了。
可以選擇直接安裝最新的Docker社區(qū)版本:
sudo yum -y install docker-ce --nobest
--nobest: use not only best candidate packages
如果在生產(chǎn)環(huán)境,往往不是安裝最新版本,而是安裝指定版本,那么可以先通過如下命令查看版本:
yum list docker-ce --showduplicates|sort -r
可以看到如下結果:

由圖2,可以看到,截止2020年7月15日,最新版本為19.03.12。
安裝生產(chǎn)環(huán)境指定需要的版本:
sudo yum install docker-ce-19.03.12
啟動docker
安裝好后,啟動docker服務
sudo systemctl start docker
檢測流程
查看Docker版本
docker -v
Docker version 19.03.12, build 48a66213fe
啟動測試應用
sudo docker run hello-world
該命令會下載一個test鏡像,并在容器中運行。輸出如下,表示已正確安裝:
Unable to find image 'hello-world:latest' locally
...
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
設置Docker的開機自啟
設置為開機自動激活單元并現(xiàn)在立刻啟動
systemctl enable --now docker
參考資料
[1] docker安裝_菜鳥教程
[2] Docker入門學習