操作系統要求
卸載舊版本
docker
或docker-engine
。 如果這些已安裝,請卸載它們以及關聯的依賴關系。
$ sudo yum remove docker docker-common container-selinux docker-selinux \ docker-engine
如果yum
報告沒有安裝這些軟件包,那么可以。
/var/lib/docker/
的內容,包括鏡像,容器,卷和網絡都被保留。 Docker CE包現在稱為docker-ce
,Docker EE包現在稱為docker-ee。
安裝Docker
您可以根據需要以不同的方式安裝Docker:
-
大多數用戶設置了Docker的存儲庫並從中安裝,以方便安裝和升級任務。 這是推薦的方法。
-
某些用戶下載RPM軟件包並手動安裝,並手動完成管理升級。 這在諸如在沒有訪問互聯網的空中密碼系統上安裝Docker的情況下是有用的。
使用存儲庫安裝
在新主機上首次安裝Docker之前,需要設置Docker存儲庫。 之后,您可以從存儲庫安裝和更新Docker。
設置存儲庫
Docker CE和Docker EE的存儲庫設置說明不同。
Docker CE
-
安裝所需的軟件包
yum-utils
提供了yum-config-manager
實用程序,device-mapper-persistent-data
和lvm2
是devicemapper
存儲驅動程序所必需的。$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
使用以下命令設置穩定版本庫。 您始終需要穩定的存儲庫,即使您也想安裝邊緣版本。
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 可選 :啟用邊緣存儲庫。 此存儲庫包含在上面的docker.repo
文件中,但默認情況下禁用。 您可以在穩定的存儲庫旁邊啟用它。
$ sudo yum-config-manager --enable docker-ce-edge
您可以通過運行帶有--disable
標志的yum-config-manager
命令來禁用邊緣存儲--disable
。 要重新啟用它,請使用--enable
標志。 以下命令禁用邊緣存儲庫。
$ sudo yum-config-manager --disable docker-ce-edge
Docker EE
-
從
/etc/yum.repos.d/
中刪除任何現有的Docker存儲/etc/yum.repos.d/
。 -
將您的Docker EE存儲庫URL存儲在
/etc/yum/vars/
中的yum
變量中。 將<DOCKER-EE-URL>
替換<DOCKER-EE-URL>
記下的URL。$ sudo sh -c 'echo "<DOCKER-EE-URL>" > /etc/yum/vars/dockerurl'
-
安裝所需的軟件包
yum-utils
提供了yum-config-manager
實用程序,device-mapper-persistent-data
和lvm2
是devicemapper
存儲驅動程序所必需的。$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
使用以下命令添加穩定版本庫:
$ sudo yum-config-manager \ --add-repo \ <DOCKER-EE-URL>/docker-ee.repo
安裝Docker
-
更新
yum
包索引。$ sudo yum makecache fast
如果這是您第一次從添加Docker存儲庫后刷新包索引,系統將提示您接受GPG密鑰,並顯示密鑰的指紋。 驗證指紋是否正確,如果是,請接受該鍵。
Docker版 指紋 Docker CE 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Docker EE DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96
-
安裝最新版本的Docker,或轉到下一步安裝特定版本。
Docker版 命令 Docker CE sudo yum install docker-ce
Docker EE sudo yum install docker-ee
警告 :如果啟用了多個Docker存儲庫,則無需在
yum install
或yum update
命令中指定版本即可yum install
或yum update
將始終安裝可能最高的版本,這可能不適合您的穩定性需求。 -
在生產系統上,您應該安裝特定版本的Docker,而不是始終使用最新版本。 列出可用的版本。 此示例使用
sort -r
命令對結果進行排序,版本號由最高到最低,並被截斷。注意 :這個
yum list
命令只顯示二進制包。 要顯示源程序包,請從程序包名稱中省略.x86_64
。$ yum list docker-ce.x86_64 --showduplicates |sort -r docker-ce.x86_64 17.03.0.el7 docker-ce-stable
列表的內容取決於啟用了哪些存儲庫,並且將特定於您的CentOS版本(在本示例中由版本的
.el7
后綴表示)。 選擇要安裝的特定版本。 第二列是版本字符串。 第三列是存儲庫名稱,它指示軟件包所在的存儲庫以及其穩定性級別。 要安裝特定版本,請將版本字符串附加到包名稱,並用連字符(-
)分隔:Docker版 命令 Docker CE sudo yum install docker-ce-<VERSION>
Docker EE sudo yum install docker-ee-<VERSION>
-
編輯
/etc/docker/daemon.json
。 如果還不存在,創建它。 假設文件為空,請添加以下內容。{ "storage-driver" : "devicemapper" }
-
對於生產系統,您必須使用
direct-lvm
模式,這需要您准備塊設備。 在啟動Docker之前,請遵循devicemapper存儲驅動程序指南中的步驟 。 -
啟動Docker。
$ sudo systemctl start docker
-
通過運行
hello-world
映像來驗證docker
是否正確安裝。$ sudo docker run hello-world
此命令下載測試映像並在容器中運行它。 當容器運行時,它打印一個信息消息並退出。
Docker已安裝並運行。 您需要使用sudo
來運行Docker命令。 繼續執行Linux安裝后 ,允許非特權用戶運行Docker命令和其他可選配置步驟。
升級Docker
要升級Docker,首先sudo yum makecache fast
運行sudo yum makecache fast
,然后按照安裝說明 ,選擇要安裝的新版本。
從包裝中安裝
如果您不能使用Docker的存儲庫來安裝Docker,則可以下載.rpm
文件並將其手動安裝。 每次要升級Docker時,都需要下載一個新文件。
-
Docker CE和Docker EE的這一步驟是不同的。
-
Docker CE :轉到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/並下載要安裝的Docker版本的
.rpm
文件。注意 :要安裝邊緣包,請將> URL中的字
stable
更改為edge
。 了解穩定和邊緣渠道 。 -
Docker EE :在瀏覽器中轉到與您的試用或訂閱相關聯的Docker EE存儲庫URL。 轉到
7/x86_64/stable-17.03/Packages/
並下載要安裝的Docker版本的.rpm
文件。
-
-
安裝Docker,將下面的路徑更改為您下載Docker程序包的路徑。
$ sudo yum install /path/to/package.rpm
-
編輯
/etc/docker/daemon.json
。 如果還不存在,創建它。 假設文件為空,請添加以下內容。{ "storage-driver" : "devicemapper" }
-
對於生產系統,您必須使用
direct-lvm
模式,這需要您准備塊設備。 在啟動Docker之前,請遵循devicemapper存儲驅動程序指南中的步驟 。 -
啟動Docker。
$ sudo systemctl start docker
-
通過運行
hello-world
映像來驗證docker
是否正確安裝。$ sudo docker run hello-world
此命令下載測試映像並在容器中運行它。 當容器運行時,它打印一個信息消息並退出。
Docker已安裝並運行。您需要使用sudo
來運行Docker命令。繼續執行Linux的安裝后步驟,允許非特權用戶運行Docker命令和其他可選配置步驟。
升級Docker
要升級Docker,請下載較新的軟件包文件並重復安裝過程 ,使用yum -y upgrade
而不是yum -y install
,並指向新文件。
卸載Docker
-
卸載Docker軟件包:
Docker版 命令 Docker CE sudo yum remove docker-ce
Docker EE sudo yum remove docker-ee
-
主機上的圖像,容器,卷或自定義配置文件不會自動刪除。 刪除所有圖像,容器和卷:
$ sudo rm -rf /var/lib/docker
-
如果需要,刪除
devicemapper
精簡池並重新格式化作為其一部分的塊設備。
您必須手動刪除任何已編輯的配置文件。