在 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。
設定存儲庫
- 更新
包索引并安裝包以允許apt
通過 HTTPS 使用存儲庫:apt
$ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
- 添加Docker官方的GPG密鑰:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 使用以下指令設定穩定存儲庫。要添加 每晚或測試存儲庫,請在以下指令中的單詞後添加單詞
或nightly
(或兩者)test
。了解nightly和test頻道。stable
注意:下面的
子指令會傳回您的 Ubuntu 發行版的名稱,例如lsb_release -cs
. 有時,在像 Linux Mint 這樣的發行版中,您可能需要更改xenial
為您的父 Ubuntu 發行版。例如,如果您使用的是$(lsb_release -cs)
,則可以使用Linux Mint Tessa
. Docker 不對未經測試和不受支援的 Ubuntu 發行版提供任何保證。bionic
$ 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 引擎
- 更新
包索引,安裝最新版本的Docker Engine和containerd,或者到下一步安裝特定版本:apt
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
有多個 Docker 存儲庫?
如果您啟用了多個 Docker 存儲庫,則在
或apt-get install
指令中未指定版本的情況下安裝或更新始終會安裝可能的最高版本,這可能不适合您的穩定性需求。apt-get update
-
要安裝特定版本的 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
- 通過運作
映像驗證 Docker Engine 是否已正确安裝。hello-world
此指令下載下傳測試映像并在容器中運作它。當容器運作時,它會列印一條消息并退出。$ sudo docker run hello-world
Docker 引擎已安裝并正在運作。該
docker
組已建立,但未向其中添加任何使用者。您需要使用
sudo
來運作 Docker 指令。繼續Linux postinstall以允許非特權使用者運作 Docker 指令和其他可選配置步驟。
更新 Docker 引擎
要更新 Docker Engine,首先運作
sudo apt-get update
,然後按照 安裝說明,選擇要安裝的新版本。
從包安裝
如果您無法使用 Docker 的存儲庫來安裝 Docker 引擎,您可以下載下傳該
.deb
版本的 檔案并手動安裝。每次要更新 Docker 時都需要下載下傳一個新檔案。
- 去
選擇你的Ubuntu版本,然後浏覽https://download.docker.com/linux/ubuntu/dists/
,選擇pool/stable/
,amd64
,armhf
,或arm64
,并下載下傳s390x
檔案要安裝多克爾引擎版本。.deb
筆記
要安裝每晚或測試(預釋出)包,
請将上述 URL 中的單詞更改為stable
或nightly
。 了解nightly和test頻道。test
- 安裝 Docker Engine,将下面的路徑更改為您下載下傳 Docker 包的路徑。
Docker 守護程序會自動啟動。$ sudo dpkg -i /path/to/package.deb
- 通過運作
映像驗證 Docker Engine 是否已正确安裝。hello-world
此指令下載下傳測試映像并在容器中運作它。當容器運作時,它會列印一條消息并退出。$ 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
具有安裝和使用 Docker 的權限。如果要授予非 root 使用者通路 Docker 的權限,請參閱 Linux 的安裝後步驟。Docker 也可以在沒有
sudo
特權的情況下安裝,或配置為在無根模式下運作。有關在無根模式下運作 Docker 的說明,請參閱以 非 root 使用者身份運作 Docker 守護程序(無根模式)。
root
安裝預發行版
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 引擎
- 解除安裝 Docker Engine、CLI 和 Containerd 包:
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
- 主機上的映像、容器、卷或自定義配置檔案不會自動删除。删除所有鏡像、容器和卷:
$ sudo rm -rf /var/lib/docker $ sudo rm -rf /var/lib/containerd
您必須手動删除任何已編輯的配置檔案。
摘自:docker docs 産品手冊