前言
首先確保你的CentOS版本為7.x 。centos-extras存儲庫必須啟用。 默認情況下啟用此存儲庫,但如果已禁用該存儲庫,則需要重新啟用該存儲庫。Docker分為企業版和社區版,企業版是收費的,本文討論的是安裝社區版。
卸載舊版本
Docker的舊版本被稱為docker或docker-engine。 如果安裝了這些,請卸載它們以及關聯的依賴關系。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安裝Docker CE(CE代表社區版)
您可以根據需要以不同的方式安裝Docker CE:
-
大多數用戶設置了Docker的存儲庫並從中安裝,以方便安裝和升級任務。 這是推薦的方法。
-
某些用戶下載RPM軟件包並手動安裝並手動管理升級。 這在諸如在沒有訪問互聯網的空隙系統上安裝Docker的情況下是有用的。
-
在測試和開發環境中,一些用戶選擇使用自動化便利腳本來安裝Docker。
使用存儲庫進行安裝
在新的主機上首次安裝Docker CE之前,需要設置Docker存儲庫。 此后,您可以從存儲庫安裝和更新Docker。
安裝存儲庫
- 安裝必須的包。
yum-utils提供了yum-config-manager實用程序,並且device-mapper-persistent-data和lvm2需要devicemapper存儲驅動程序。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.使用以下命令設置穩定存儲庫。 您始終需要穩定的存儲庫,即使您也想從邊緣或測試存儲庫安裝構建。
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.可選:啟用test和edge。 這些存儲庫包含在上面的docker.repo文件中,但默認情況下禁用。 您可以將它們與穩定版本庫一起啟用。
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
您可以通過運行帶有--disable標志的yum-config-manager命令來禁用edge或test庫。 要重新啟用它,請使用--enable標志。 以下命令禁用edge存儲庫。
sudo yum-config-manager --disable docker-ce-edge
從Docker 17.06開始,穩定的版本也被推到了edge和test存儲庫
安裝 DOCKER CE
1.安裝最新版本的Docker CE,或轉到下一步安裝特定版本。
sudo yum install docker-ce
警告:如果啟用了多個Docker存儲庫,則在
yum install或yum update命令中不安裝或更新版本將始終安裝盡可能高的版本,這可能不適合您的穩定性需求。
如果這是您第一次從最近添加的存儲庫安裝軟件包,系統將提示您接受GPG密鑰,並顯示密鑰的指紋。 驗證指紋是否正確,如果是,請接受密鑰。 指紋應該匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Docker已安裝但未啟動。 Docker組已創建,但沒有用戶添加到組中。
2.在生產系統上,您應該安裝特定版本的Docker CE,而不是始終使用最新版本。 列出可用的版本。 此示例使用排序-r命令對結果進行排序,版本號由最高到最低,並被截斷。
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 17.09.ce-1.el7.centos docker-ce-stable
列表的內容取決於啟用哪些存儲庫,並且將特定於您的CentOS版本(在本示例中由版本的.el7后綴表示)。 選擇要安裝的特定版本。 第二列是版本字符串。 您可以使用整個版本字符串,但您至少需要包含第一個連字符。 第三列是存儲庫名稱,它指示軟件包的存儲庫以及其穩定性級別。 要安裝特定版本,請將版本字符串附加到包名稱,並用連字符( - )分隔。
版本字符串是包名稱加上直到第一個連字符的版本。 在上面的示例中,完全限定的包名稱是
docker-ce-17.09.ce。
sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
3.啟動Docker
sudo systemctl start docker
4.通過運行hello-world鏡像來驗證Docker是否正確安裝。
sudo docker run hello-world
此命令下載hello-world鏡像並在容器中運行它。 當容器運行時,它打印一條信息消息並退出。

Docker CE已安裝並運行。 您需要使用sudo來運行Docker命令。 繼續執行Linux安裝后,允許非特權用戶運行Docker命令和其他可選配置步驟。
升級DOCKER CE
要升級Docker CE,請按照安裝說明進行操作,選擇要安裝的新版本。
從包裝中安裝
如果您不能使用Docker的存儲庫來安裝Docker,則可以下載您的版本的.rpm文件並手動安裝。 每次要升級Docker時,都需要下載一個新文件。
1訪問https://download.docker.com/linux/centos/7/x86_64/stable/Packages/並下載要安裝的Docker版本的.rpm文件。
要安裝edge包,請將上述URL中的stable更改為edge。
2.安裝Docker CE,將下面的路徑更改為您下載Docker程序包的路徑。
sudo yum install /path/to/package.rpm
Docker已安裝但未啟動。 Docker組已創建,但沒有用戶添加到組中。
3.啟動Docker
sudo systemctl start docker
4.通過運行hello-world鏡像來驗證Docker是否正確安裝。
sudo docker run hello-world
此命令下載hello-world鏡像像並在容器中運行它。 當容器運行時,它打印一條信息消息並退出。
Docker CE已安裝並運行。 您需要使用sudo來運行Docker命令。 繼續執行Linux的安裝后步驟,以允許非特權用戶運行Docker命令和其他可選配置步驟。
升級Docker
要升級Docker CE,請下載較新的軟件包文件並重復安裝過程,使用yum -y升級而不是yum -y install,並指向新文件。
使用便利腳本進行安裝
Docker在get.docker.com和test.docker.com上提供了方便的腳本,用於將Docker CE的穩定和測試版本,快速、非交互式安裝到開發環境中。 腳本的源代碼位於docker-install存儲庫中。 不建議在生產環境中使用這些腳本,您應該在使用這些腳本之前了解潛在的風險:
- 腳本需要root或sudo權限才能運行。 因此,在運行腳本之前,應仔細檢查和審核腳本。
- 這些腳本嘗試檢測您的Linux發行版和版本,並為您配置您的軟件包管理系統。 此外,腳本不允許您自定義任何安裝參數。 這可能導致不受支持的配置,無論是從Docker的角度還是從您自己的組織的准則和標准。
- 腳本安裝包管理器的所有依賴關系和建議,而不要求確認。 這可能會安裝大量的軟件包,具體取決於您的主機的當前配置。
- 如果Docker已經使用其他機制安裝在主機上,則不要使用便利腳本。
此示例使用get.docker.com上的腳本在Linux上安裝最新的Docker CE版本。 要安裝最新的測試版本,請改用test.docker.com。 在下面的每個命令中,將每次出現的get與test進行替換。
警告:在本地運行之前,始終檢查從互聯網下載的腳本。
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
<output truncated>
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 CE已安裝。 它在基於DEB的發行版上自動啟動。 在基於RPM的發行版中,您需要使用適當的systemctl或service命令手動啟動它。 消息顯示,非root用戶默認情況下無法運行Docker命令。
使用方便腳本后升級
如果您使用便捷腳本安裝Docker,則應直接使用您的程序包管理器升級Docker。 重新運行方便腳本沒有任何好處,如果嘗試重新添加已經添加到主機的存儲庫,可能會導致問題。
卸載 Docker CE
1.卸載Docker包
sudo yum remove docker-ce
2.主機上的mages, containers, volumes或自定義配置文件不會自動刪除。 刪除所有mages, containers, volumes:
sudo rm -rf /var/lib/docker
您必須手動刪除任何定義配置文件。
