在 Ubuntu 上安裝 Docker 引擎(按照標紅順序執行命令)
預計閱讀時間:11分鍾
適用於 Linux 的 Docker 桌面
Docker Desktop 可幫助您在 Mac 和 Windows 上輕松構建、共享和運行容器,就像在 Linux 上一樣。Docker 處理復雜的設置並允許您專注於編寫代碼。由於我們收到了訂閱更新的積極支持,我們已經開始開發Docker Desktop for Linux,這是我們公共路線圖中第二受歡迎的功能請求。如果您對搶先體驗感興趣,請注冊我們的Developer Preview 計划。
要在 Ubuntu 上開始使用 Docker Engine,請確保 滿足先決條件,然后 安裝 Docker。
先決條件
操作系統要求
要安裝 Docker Engine,您需要以下 Ubuntu 版本之一的 64 位版本:
- Ubuntu Impish 21.10
- Ubuntu Hirsute 21.04
- 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 版本。
卸載舊版本
1.Docker的舊版本被稱為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 Engineoverlay2
默認使用存儲驅動程序。如果需要改為使用 aufs
,則需要手動配置。請參閱使用 AUFS 存儲驅動程序
安裝方法
您可以根據需要以不同方式安裝 Docker Engine:
-
大多數用戶 設置 Docker 的存儲庫並從中安裝,以便於安裝和升級任務。這是推薦的方法。
-
一些用戶下載 DEB 包並 手動安裝並完全手動管理升級。這在某些情況下非常有用,例如在無法訪問互聯網的氣隙系統上安裝 Docker。
-
在測試和開發環境中,部分用戶選擇使用自動化 便捷腳本來安裝Docker。
使用存儲庫安裝
在新主機上首次安裝 Docker Engine 之前,您需要設置 Docker 存儲庫。之后,您可以從存儲庫安裝和更新 Docker。
設置存儲庫
-
更新
apt
包索引並安裝包以允許apt
通過 HTTPS 使用存儲庫:$ sudo apt-get update $ sudo apt-get install 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
(或兩者)stable
。了解nightly和test頻道。$ echo "deb [arch=$(dpkg --print-architecture) 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 引擎
-
更新
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
命令中未指定版本的情況下安裝或更新始終會安裝可能的最高版本,這可能不適合您的穩定性需求。 -
要安裝特定版本的 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
-
通過運行
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 時都需要下載一個新文件。
-
去
https://download.docker.com/linux/ubuntu/dists/
選擇你的Ubuntu版本,然后瀏覽pool/stable/
,選擇amd64
,armhf
,arm64
,或s390x
,並下載.deb
文件要安裝多克爾引擎版本。筆記
要安裝每晚或測試(預發布)包,
stable
請將上述 URL 中的單詞更改為nightly
或test
。 了解nightly和test頻道。 -
安裝 Docker Engine,將下面的路徑更改為您下載 Docker 包的路徑。
$ sudo dpkg -i /path/to/package.deb
Docker 守護進程自動啟動。
-
通過運行
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
orservice
命令手動啟動它。如消息所示,默認情況下,非 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 引擎
-
卸載 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
您必須手動刪除任何已編輯的配置文件。