1. 程式人生 > >CentOS 安裝 Docker

CentOS 安裝 Docker

因此 禁用 示例 一個 for rpm which remove service

Linux安裝docker的前提條件:

  • 必須是64位CPU架構的計算機,Docker目前不支持32位CPU;
  • 運行Linux3.8或更高版本內核,CentOS時內核必不小於3.10;
  • 內核必須支持一種合適的存儲驅動,可以是Device Manager、AUFS、vfs、btrfs、以及默認的驅動Device Mapper中的一個;
  • 內核必須支持並開啟cgroup和命名空間namespace功能。

檢查前提條件

  1. 內核

    通過uname命令來檢查內核版本信息。

  2. 檢查內存驅動是否存在,即檢查Device Mapper

技術分享圖片

版本說明

Docker從1.13.x版本開始,版本分為企業版EE和社區版CE,版本號也改為按照時間線來發布,比如17.03就是2017年3月,有點類似於ubuntu的版本發布方式。

  • Docker Engine改為Docker CE(社區版)
    它包含了CLI客戶端、後臺進程/服務以及API。用戶像以前以同樣的方式獲取。

    CE版分為Stable和Edge兩種發布方式。

    • Stable版本是季度發布方式,比如17.03, 17.06, 17.09
    • Edge版本是月份發布方式, 比如17.03, 17.04......
    • Edge版本每月發布,提供一個月支持。
    • Stable版本每季度發布,提供4個月支持。
  • Docker Data Center改為Docker EE(企業版)
    企業版提供一些額外的收費服務。企業版說明在這裏

技術分享圖片

正常學習和開發個人認為CE已經是足夠的了!

卸載舊版本

Docker的舊版本被稱為docker

docker-engine。 如果安裝了這些,請卸載它們以及關聯的依賴關系。

sudo yum remove docker                 docker-common                 docker-selinux                 docker-engine

安裝Docker CE

可以根據需要以不同的方式安裝Docker CE:

  • 設置了Docker的存儲庫並從中安裝,以方便安裝和升級任務。 這是推薦的方法。

  • 下載RPM軟件包並手動安裝並手動管理升級。

    這在諸如在沒有訪問互聯網的空隙系統上安裝Docker的情況下是有用的。

  • 在測試和開發環境中,使用自動化便利腳本來安裝Docker。

使用存儲庫進行安裝

  • 安裝存儲庫

    • 安裝必須的包。yum-utils提供了yum-config-manager實用程序,並且device-mapper-persistent-datalvm2需要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
    • 可選:啟用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存儲庫

安裝

  1. 安裝最新版本的Docker CE,或轉到下一步安裝特定版本。
sudo yum install docker-ce

警告:如果啟用了多個Docker存儲庫,則在yum installyum update命令中不安裝或更新版本將始終安裝盡可能高的版本,這可能不適合您的穩定性需求。

如果這是您第一次從最近添加的存儲庫安裝軟件包,系統將提示您接受GPG密鑰,並顯示密鑰的指紋。 驗證指紋是否正確,如果是,請接受密鑰。 指紋應該匹配

060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35

技術分享圖片

Docker已安裝但未啟動。 Docker組已創建,但沒有用戶添加到組中。

  1. 在生產系統上,您應該安裝特定版本的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的存儲庫來安裝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。 在下面的每個命令中,將每次出現的gettest進行替換。

警告:在本地運行之前,始終檢查從互聯網下載的腳本。

 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的發行版中,您需要使用適當的systemctlservice命令手動啟動它。 消息顯示,非root用戶默認情況下無法運行Docker命令。

使用方便腳本後升級

如果使用便捷腳本安裝Docker,則應直接使用程序包管理器升級Docker。 重新運行方便腳本沒有任何好處,如果嘗試重新添加已經添加到主機的存儲庫,可能會導致問題。

卸載 Docker CE

  • 卸載Docker包
sudo yum remove docker-ce
  • 主機上的圖mages, containers, volumes或自定義配置文件不會自動刪除。 刪除所有mages, containers, volumes:
sudo rm -rf /var/lib/docker

必須手動刪除任何定義配置文件。

CentOS 安裝 Docker