爲 Debian 獲取 Docker Engine - Community

預計閱讀時間: 11分鐘linux

要開始在 Debian 上使用 Docker Engine - Community ,請確保您 知足先決條件 ,而後 安裝Dockergit

前提條件

操做系統要求

要安裝 Docker Engine - Community ,您須要如下 Debian 或 Raspbian 版本之一的64位版本:github

  • Buster 10
  • Stretch 9 (stable) / Raspbian Stretch

Docker Engine - Community 在 x86_64 (或 amd64armhf ,和 arm64 體系結構上受支持。docker

卸載舊版本

Docker 的舊版本被稱爲 dockerdocker.iodocker-engine 。若是已安裝,請卸載它們:shell

$ sudo apt-get remove docker docker-engine docker.io containerd runc

若是 apt-get 報告未安裝這些軟件包, 也不要緊 。網絡

的內容( /var/lib/docker/ 包括圖像,容器,卷和網絡)被保留。如今稱爲 Docker Engine - Community 軟件包 docker-celess

保存在 /var/lib/docker/ 中的內容,包括映像、容器、卷和網絡。 Docker Engine - Community 包如今稱爲 docker -cecurl

安裝 Docker Engine - Community

您能夠根據須要以不一樣的方式安裝 Docker Engine - Community:post

  • 大多數用戶會 設置Docker的存儲庫 並從中進行安裝,以簡化安裝和升級任務。除 Raspbian 以外,這是推薦的方法。
  • 一些用戶下載並手動安裝 DEB 軟件包, 並徹底手動管理升級。這在諸如在沒法訪問互聯網的空白系統上安裝Docker的狀況下頗有用。
  • 在測試和開發環境中,一些用戶選擇使用自動 便利腳本 來安裝 Docker。目前,這是 Raspbian 的惟一方法。

使用存儲庫安裝

在新主機上首次安裝 Docker Engine - Community 以前,須要設置 Docker 存儲庫。以後,您能夠從存儲庫安裝和更新 Docker 。測試

Raspbian 用戶不能使用此方法!

對於Raspbian,尚不支持使用存儲庫進行安裝。您必須改成使用 便捷腳本

設置存儲庫

  1. 更新 apt 包索引:

    $ sudo apt-get update
  2. 安裝軟件包以容許 apt 經過 HTTPS 使用存儲庫:

    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg2 \
        software-properties-common
  3. 添加 Docker 的官方 GPG 密鑰:

    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

    經過搜索指紋 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 的後8個字符,驗證您如今是否擁有帶有指紋的密鑰 。

    $ sudo apt-key fingerprint 0EBFCD88
    
    pub   4096R/0EBFCD88 2017-02-22
          Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid                  Docker Release (CE deb) <docker@docker.com>
    sub   4096R/F273FCD8 2017-02-22
  4. 使用如下命令來設置 穩定的 存儲庫。要添加 nightlytest存儲庫,請在如下命令中的單詞後面添加nightlytest(或二者)stable瞭解 nightlytest 頻道

    注意:下面的 lsb_release -cs 子命令返回 Debian 發行版的名稱,例如 helium。有時,在諸如 BunsenLabs Linux 的發行版中,您可能須要更改 $(lsb_release -cs) 爲父 Debian 發行版。例如,若是您使用 BunsenLabs Linux Helium ,則可使用 stretch 。 Docker 對未經測試和不受支持的 Debian 發行版不提供任何保證。

    • x86_64 / amd64

      $ sudo add-apt-repository \
         "deb [arch=amd64] https://download.docker.com/linux/debian \
         $(lsb_release -cs) \
         stable"
    • armhf

      $ sudo add-apt-repository \
         "deb [arch=armhf] https://download.docker.com/linux/debian \
         $(lsb_release -cs) \
         stable"
    • arm64

    $ sudo add-apt-repository \
       "deb [arch=arm64] https://download.docker.com/linux/debian \
       $(lsb_release -cs) \
       stable"

安裝 DOCKER DOCKER ENGINE - COMMUNITY

注意:此過程適用於 x86_64/ amd64 ,Debian ARM 或Raspbian 上的 Debian 。

  1. 更新 apt 包索引。

    $ sudo apt-get update
  2. 安裝最新版本的 Docker Engine - Community 和 containerd ,或者轉到下一步安裝特定版本:

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io

    有多個Docker存儲庫嗎?

    若是您啓用了多個Docker存儲庫,則在未在 apt-get install or apt-get update 命令中指定版本的狀況下進行安裝或更新將始終安裝可能的最高版本,這可能不適合您的穩定性需求。

  3. 要安裝 特定版本 的 Docker Engine - Community ,請在存儲庫中列出可用版本,而後選擇並安裝:

    a. 列出您的倉庫中可用的版本:

    $ apt-cache madison docker-ce
    
      docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
      docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
      docker-ce | 18.06.1~ce~3-0~debian        | https://download.docker.com/linux/debian stretch/stable amd64 Packages
      docker-ce | 18.06.0~ce~3-0~debian        | https://download.docker.com/linux/debian stretch/stable amd64 Packages
      ...

    b. 使用第二列中的版本字符串安裝特定版本,例如 5:18.09.1~3-0~debian-stretch

    $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
  4. 經過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine - Community 。

    $ sudo docker run hello-world

    此命令下載測試鏡像並在容器中運行它。容器運行時,它會打印參考消息並退出。

Docker Engine - Community 已安裝並正在運行。該 docker 組已建立,但未添加任何用戶。您須要使用 sudo 來運行 Docker 命令。繼續進行 Linux後安裝 ,以容許非特權用戶運行Docker命令以及其餘可選配置步驟。

升級DOCKER ENGINE - COMMUNITY

要升級 Docker Engine-Community ,請先運行 sudo apt-get update ,而後按照 安裝說明進行操做,選擇要安裝的新版本。

從軟件包安裝

若是您不能使用Docker的存儲庫來安裝Docker Engine - Community,則能夠下載該 .deb 版本的 文件並手動安裝。每次升級Docker時,都須要下載一個新文件。

  1. 轉到https://download.docker.com/linux/debian/dists/,選擇您的 Debian 版本,瀏覽至 pool/stable/ ,選擇 amd64armhf arm64下載 .deb 要安裝的 Docker Engine - Community 版本的文件。

    注意:要安裝 nightly 軟件包, stable 請將URL中的單詞更改 爲nightly瞭解 nightlytest 頻道

  2. 安裝 Docker Engine - Community ,將下面的路徑更改成您下載 Docker 軟件包的路徑。

    $ sudo dpkg -i /path/to/package.deb

    Docker 守護程序會自動啓動。

  3. 經過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine - Community 。

    $ sudo docker run hello-world

    此命令下載測試圖像並在容器中運行它。容器運行時,它會打印參考消息並退出。

Docker Engine - Community 已安裝並正在運行。該 docker 組已建立,但未添加任何用戶。您須要使用 sudo 來運行 Docker 命令。繼續 執行Linux的安裝後步驟 ,以容許非特權用戶運行 Docker 命令以及其餘可選配置步驟。

升級DOCKER ENGINE - Community

要升級 Docker Engine - Community ,請下載較新的軟件包文件,而後重複 安裝過程 ,指向新文件。

使用便捷腳本安裝

Docker 在 get.docker.comtest.docker.com上 提供了便利腳本,用於將 Docker Engine-Community 的邊緣版本和測試版本快速且非交互地安裝到開發環境中。腳本的源代碼在 docker-install存儲庫中不建議在生產環境中使用這些腳本,在使用它們以前,您應該瞭解潛在的風險:

  • 腳本須要運行 root 或具備 sudo 特權。所以,在運行腳本以前,應仔細檢查和審覈腳本。
  • 這些腳本嘗試檢測 Linux 發行版和版本,併爲您配置軟件包管理系統。此外,腳本不容許您自定義任何安裝參數。從 Docker 的角度或您本身組織的準則和標準的角度來看,這可能致使不支持的配置。
  • 這些腳本將安裝軟件包管理器的全部依賴項和建議,而無需進行確認。根據主機的當前配置,這可能會安裝大量軟件包。
  • 該腳本未提供用於指定要安裝哪一個版本的Docker的選項,而是安裝了在 「edge」 通道中發佈的最新版本。
  • 若是已使用其餘機制將 Docker 安裝在主機上,請不要使用便捷腳本。

本示例使用 get.docker.com 上的腳本在Linux上安裝最新版本的 Docker Engine-Community 。要安裝最新的測試版本,請改用 test.docker.com 。在下面的每一個命令,用 test 取代每次出現 get

警告

在本地運行它們以前,請務必檢查從 Internet 下載的腳本。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

<output truncated>

若是您想以非 root 用戶身份使用 Docker ,則如今應考慮使用相似如下方式將用戶添加到 「docker」 組:

sudo usermod -aG docker your-user

請記住註銷並從新登陸才能生效!

警告

將用戶添加到「docker」組後,他們能夠運行容器,該容器可用於在Docker主機上得到root特權。 有關更多信息,請參考 Docker Daemon Attack Surface

Docker Engine-Community 已安裝。它會自動在 DEB 基於發行版的系統上啓動。在 RPM 基於發行版的系統上,您須要使用相應的 systemctlservice 命令手動啓動它 。如消息所示,默認狀況下,非 root 用戶不能運行 Docker 命令。

注意事項

要安裝沒有 root 特權的 Docker ,請參閱 以非root用戶身份運行Docker守護程序(無根模式)

無根模式目前可做爲實驗功能。

使用便捷腳本後升級 DOCKER

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

卸載 Docker Engine-Community

  1. 卸載 Docker Engine-Community 軟件包:

    $ sudo apt-get purge docker-ce
  2. 主機上的映像、容器、卷或自定義配置文件不會自動刪除。要刪除全部圖像、容器和卷:

    $ sudo rm -rf /var/lib/docker

您必須手動刪除全部已編輯的配置文件。

下一步


[譯自 Get Docker Engine - Community for Debian 。]

相關文章
相關標籤/搜索