天天看點

Docker-Ubuntu安裝、更新、解除安裝在 Ubuntu 上安裝 Docker 引擎

在 Ubuntu 上安裝 Docker 引擎

文章目錄

  • 在 Ubuntu 上安裝 Docker 引擎
    • 先決條件
      • 作業系統要求
      • 解除安裝舊版本
      • 支援的存儲驅動程式
    • 安裝方法
      • 使用存儲庫安裝
        • 設定存儲庫
        • 安裝 Docker 引擎
        • 更新 Docker 引擎
      • 從包安裝
        • 更新 Docker 引擎
      • 使用便利腳本安裝
        • 安裝預發行版
        • 使用便利腳本後更新 Docker
    • 解除安裝 Docker 引擎

要在 Ubuntu 上開始使用 Docker Engine,請確定 滿足先決條件,然後 安裝 Docker。

先決條件

作業系統要求

要安裝 Docker Engine,您需要以下 Ubuntu 版本之一的 64 位版本:

  • Ubuntu Hirsute 21.04
  • Ubuntu Groovy 20.10
  • Ubuntu 焦點 20.04 (LTS)
  • Ubuntu 仿生 18.04 (LTS)

泊塢窗引擎都支援

x86_64

(或

amd64

armhf

arm64

s390x

架構。

Ubuntu 16.04 LTS“Xenial Xerus”生命周期結束

Ubuntu Linux 16.04 LTS 已于 2021 年 4 月 30 日結束其五年的 LTS 視窗,不再受支援。Docker 不再為此發行版釋出包(包括更新檔和安全版本)。建議在 Ubuntu 16.04 上運作 Docker 的使用者将其系統更新到目前支援的 Ubuntu LTS 版本。

解除安裝舊版本

泊塢窗的舊版本被稱為

docker

docker.io

docker-engine

。如果安裝了這些,請解除安裝它們:

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

如果

apt-get

報告沒有安裝這些軟體包,那也沒關系。

的内容

/var/lib/docker/

,包括圖像、容器、卷和網絡,将被保留。如果您不需要儲存現有資料,并希望從全新安裝開始,請參閱 本頁底部的解除安裝 Docker 引擎部分。

支援的存儲驅動程式

Ubuntu 上的 Docker 引擎支援

overlay2

aufs

btrfs

存儲驅動程式。

Docker Engine

overlay2

預設使用存儲驅動程式。如果需要改為使用

aufs

,則需要手動配置。請參閱使用 AUFS 存儲驅動程式

安裝方法

您可以根據需要以不同方式安裝 Docker Engine:

  • 大多數使用者 設定 Docker 的存儲庫并從中安裝,以便于安裝和更新任務。這是推薦的方法。
  • 一些使用者下載下傳 DEB 包并 手動安裝并完全手動管理更新。這在諸如在無法通路網際網路的氣隙系統上安裝 Docker 等情況下非常有用。
  • 在測試和開發環境中,一些使用者選擇使用自動化的 便捷腳本來安裝 Docker。

使用存儲庫安裝

在新主機上首次安裝 Docker Engine 之前,您需要設定 Docker 存儲庫。之後,您可以從存儲庫安裝和更新 Docker。

設定存儲庫

  1. 更新

    apt

    包索引并安裝包以允許

    apt

    通過 HTTPS 使用存儲庫:
    $ sudo apt-get update
    
    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
               
  2. 添加Docker官方的GPG密鑰:
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
               
  3. 使用以下指令設定穩定存儲庫。要添加 每晚或測試存儲庫,請在以下指令中的單詞後添加單詞

    nightly

    test

    (或兩者)

    stable

    。了解nightly和test頻道。
    注意:下面的

    lsb_release -cs

    子指令會傳回您的 Ubuntu 發行版的名稱,例如

    xenial

    . 有時,在像 Linux Mint 這樣的發行版中,您可能需要更改

    $(lsb_release -cs)

    為您的父 Ubuntu 發行版。例如,如果您使用的是

    Linux Mint Tessa

    ,則可以使用

    bionic

    . Docker 不對未經測試和不受支援的 Ubuntu 發行版提供任何保證。
    $ echo \
      "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
               

安裝 Docker 引擎

  1. 更新

    apt

    包索引,安裝最新版本的Docker Engine和containerd,或者到下一步安裝特定版本:
    $ sudo apt-get update
     $ sudo apt-get install docker-ce docker-ce-cli containerd.io
               

    有多個 Docker 存儲庫?

    如果您啟用了多個 Docker 存儲庫,則在

    apt-get install

    apt-get update

    指令中未指定版本的情況下安裝或更新始終會安裝可能的最高版本,這可能不适合您的穩定性需求。
  2. 要安裝特定版本的 Docker Engine,請在 repo 中列出可用版本,然後選擇并安裝:

    一種。列出您的存儲庫中可用的版本:

    $ apt-cache madison docker-ce
    
      docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
      docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
      docker-ce | 18.06.1~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
      docker-ce | 18.06.0~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
               
    灣 使用第二列中的版本字元串安裝特定版本,例如

    5:18.09.1~3-0~ubuntu-xenial

    .
    $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
               
  3. 通過運作

    hello-world

    映像驗證 Docker Engine 是否已正确安裝。
    $ sudo docker run hello-world
               
    此指令下載下傳測試映像并在容器中運作它。當容器運作時,它會列印一條消息并退出。

Docker 引擎已安裝并正在運作。該

docker

組已建立,但未向其中添加任何使用者。您需要使用

sudo

來運作 Docker 指令。繼續Linux postinstall以允許非特權使用者運作 Docker 指令和其他可選配置步驟。

更新 Docker 引擎

要更新 Docker Engine,首先運作

sudo apt-get update

,然後按照 安裝說明,選擇要安裝的新版本。

從包安裝

如果您無法使用 Docker 的存儲庫來安裝 Docker 引擎,您可以下載下傳該

.deb

版本的 檔案并手動安裝。每次要更新 Docker 時都需要下載下傳一個新檔案。

  1. https://download.docker.com/linux/ubuntu/dists/

    選擇你的Ubuntu版本,然後浏覽

    pool/stable/

    ,選擇

    amd64

    armhf

    arm64

    ,或

    s390x

    ,并下載下傳

    .deb

    檔案要安裝多克爾引擎版本。

    筆記

    要安裝每晚或測試(預釋出)包,

    stable

    請将上述 URL 中的單詞更改為

    nightly

    test

    。 了解nightly和test頻道。
  2. 安裝 Docker Engine,将下面的路徑更改為您下載下傳 Docker 包的路徑。
    $ sudo dpkg -i /path/to/package.deb
               
    Docker 守護程序會自動啟動。
  3. 通過運作

    hello-world

    映像驗證 Docker Engine 是否已正确安裝。
    $ sudo docker run hello-world
               
    此指令下載下傳測試映像并在容器中運作它。當容器運作時,它會列印一條消息并退出。

Docker 引擎已安裝并正在運作。該

docker

組已建立,但未向其中添加任何使用者。您需要使用

sudo

來運作 Docker 指令。繼續Linux 的安裝後步驟以允許非特權使用者運作 Docker 指令和其他可選配置步驟。

更新 Docker 引擎

要更新 Docker Engine,請下載下傳更新的封包件并重複 安裝過程,指向新檔案。

使用便利腳本安裝

Docker 在get.docker.com 上提供了一個友善的腳本,可以快速且非互動地将 Docker 安裝到開發環境中。不建議将便捷腳本用于生産環境,但可以用作示例來建立适合您需求的配置腳本。另請參閱使用存儲庫安裝 步驟以了解使用軟體包存儲庫進行安裝的安裝步驟。該腳本的源代碼是開源的,可以

docker-install

在 GitHub 上的 存儲庫中找到。

在本地運作之前,請務必檢查從 Internet 下載下傳的腳本。在安裝之前,讓自己熟悉便利腳本的潛在風險和限制:

  • 腳本需要

    root

    sudo

    特權才能運作。
  • 該腳本嘗試檢測您的 Linux 發行版和版本并為您配置包管理系統,并且不允許您自定義大多數安裝參數。
  • 該腳本無需确認即可安裝依賴項和建議。這可能會安裝大量軟體包,具體取決于主機的目前配置。
  • 預設情況下,該腳本會安裝 Docker、containerd 和 runc 的最新穩定版本。使用此腳本配置機器時,可能會導緻 Docker 的主要版本意外更新。在部署到生産系統之前,始終在測試環境中測試(主要)更新。
  • 該腳本并非旨在更新現有的 Docker 安裝。使用腳本更新現有安裝時,依賴項可能不會更新到預期版本,進而導緻使用過時的版本。

提示:運作前預覽腳本步驟

您可以運作帶有

DRY_RUN=1

選項的腳本以了解腳本在安裝過程中将執行的步驟:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh
           

此示例從get.docker.com下載下傳腳本 并運作它以在 Linux 上安裝 Docker 的最新穩定版本:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>
           

安裝了 Docker。該

docker

服務在基于 Debian 的發行版上自動啟動。在

RPM

基于發行版(例如 CentOS、Fedora、RHEL 或 SLES)上,您需要使用适當的

systemctl

or

service

指令手動啟動它。如消息所示,預設情況下,非 root 使用者無法運作 Docker 指令。

以非特權使用者身份使用 Docker,還是以無根模式安裝?

安裝腳本需要

root

sudo

具有安裝和使用 Docker 的權限。如果要授予非 root 使用者通路 Docker 的權限,請參閱 Linux 的安裝後步驟。Docker 也可以在沒有

root

特權的情況下安裝,或配置為在無根模式下運作。有關在無根模式下運作 Docker 的說明,請參閱以 非 root 使用者身份運作 Docker 守護程序(無根模式)。

安裝預發行版

Docker 還在test.docker.com 上提供了一個友善的腳本,用于在 Linux 上安裝 Docker 的預釋出版本。此腳本等效于 中的腳本

get.docker.com

,但會配置您的包管理器以啟用我們包存儲庫中的“測試”通道,其中包括 Docker 的穩定版和預釋出版(測試版、候選釋出版)。使用此腳本可以提前通路新版本,并在它們穩定釋出之前在測試環境中對其進行評估。

要從“測試”頻道在 Linux 上安裝最新版本的 Docker,請運作:

$ curl -fsSL https://test.docker.com -o test-docker.sh
$ sudo sh test-docker.sh
<...>
           

使用便利腳本後更新 Docker

如果您使用便利腳本安裝 Docker,則應直接使用您的包管理器更新 Docker。重新運作便利腳本沒有任何好處,如果它嘗試重新添加已經添加到主機的存儲庫,它可能會導緻問題。

解除安裝 Docker 引擎

  1. 解除安裝 Docker Engine、CLI 和 Containerd 包:
    $ sudo apt-get purge docker-ce docker-ce-cli containerd.io
               
  2. 主機上的映像、容器、卷或自定義配置檔案不會自動删除。删除所有鏡像、容器和卷:
    $ sudo rm -rf /var/lib/docker
    $ sudo rm -rf /var/lib/containerd
               

您必須手動删除任何已編輯的配置檔案。

摘自:docker docs 産品手冊

繼續閱讀