透過二進位制檔案安裝 Docker Engine
重要提示本頁包含有關如何使用二進位制檔案安裝 Docker 的資訊。這些說明主要適用於測試目的。我們不建議在生產環境中使用二進位制檔案安裝 Docker,因為它們沒有自動安全更新。本頁描述的 Linux 二進位制檔案是靜態連結的,這意味著構建時依賴項中的漏洞不會透過您的 Linux 發行版的安全更新自動修補。
與使用包管理器或透過 Docker Desktop 安裝的 Docker 軟體包相比,更新二進位制檔案也稍微複雜一些,因為它需要在有新版 Docker 釋出時(手動)更新已安裝的版本。
此外,靜態二進位制檔案可能不包括動態軟體包提供的所有功能。
在 Windows 和 Mac 上,我們建議您改為安裝 Docker Desktop。對於 Linux,我們建議您遵循適用於您的發行版的特定說明。
如果您想嘗試 Docker 或在測試環境中使用它,但您不在受支援的平臺上,您可以嘗試從靜態二進位制檔案安裝。如果可能,您應該使用為您的作業系統構建的軟體包,並使用作業系統的包管理系統來管理 Docker 的安裝和升級。
Docker 守護程序二進位制檔案的靜態二進位制檔案僅適用於 Linux(作為 dockerd
)和 Windows(作為 dockerd.exe
)。Docker 客戶端的靜態二進位制檔案適用於 Linux、Windows 和 macOS(作為 docker
)。
本主題討論 Linux、Windows 和 macOS 的二進位制安裝
在 Linux 上安裝守護程序和客戶端二進位制檔案
先決條件
在嘗試從二進位制檔案安裝 Docker 之前,請確保您的主機滿足先決條件
- 64 位安裝
- Linux 核心版本為 3.10 或更高。建議使用適用於您平臺的最新核心版本。
iptables
版本 1.4 或更高git
版本 1.7 或更高- 一個
ps
可執行檔案,通常由procps
或類似軟體包提供。 - XZ Utils 4.9 或更高版本
- 一個正確掛載的
cgroupfs
層次結構;一個單一的、包羅永珍的cgroup
掛載點是不夠的。請參閱 Github 問題 #2683、#3485、#4568。
儘可能保護您的環境
作業系統注意事項
如果可能,請啟用 SELinux 或 AppArmor。
如果您的 Linux 發行版支援 AppArmor 或 SELinux 其中之一,建議使用它。這有助於提高安全性並阻止某些型別的漏洞利用。請查閱您的 Linux 發行版的文件,瞭解啟用和配置 AppArmor 或 SELinux 的說明。
安全警告
如果啟用了任一安全機制,請不要為了讓 Docker 或其容器執行而停用它。相反,應正確配置它以解決任何問題。
Docker 守護程序注意事項
如果可能,請啟用
seccomp
安全配置檔案。請參閱為 Docker 啟用seccomp
。如果可能,請啟用使用者名稱空間。請參閱守護程序使用者名稱空間選項。
安裝靜態二進位制檔案
下載靜態二進位制檔案存檔。轉到 https://download.docker.com/linux/static/stable/,選擇您的硬體平臺,並下載與您要安裝的 Docker Engine 版本相關的
.tgz
檔案。使用
tar
實用程式提取存檔。dockerd
和docker
二進位制檔案將被提取出來。$ tar xzvf /path/to/<FILE>.tar.gz
可選:將二進位制檔案移動到可執行路徑上的目錄,例如
/usr/bin/
。如果跳過此步驟,則在呼叫docker
或dockerd
命令時必須提供可執行檔案的路徑。$ sudo cp docker/* /usr/bin/
啟動 Docker 守護程序
$ sudo dockerd &
如果您需要使用其他選項啟動守護程序,請相應地修改上述命令,或建立並編輯檔案
/etc/docker/daemon.json
以新增自定義配置選項。透過執行
hello-world
映象來驗證 Docker 是否已正確安裝。$ sudo docker run hello-world
此命令會下載一個測試映象並在容器中執行它。當容器執行時,它會列印一條訊息然後退出。
您現在已成功安裝並啟動了 Docker Engine。
提示嘗試在沒有 root 許可權的情況下執行時收到錯誤?
docker
使用者組已存在但沒有使用者,這就是為什麼您需要使用sudo
來執行 Docker 命令。繼續到 Linux 安裝後步驟,以允許非特權使用者執行 Docker 命令以及進行其他可選配置步驟。
在 macOS 上安裝客戶端二進位制檔案
注意以下說明主要適用於測試目的。macOS 二進位制檔案僅包含 Docker 客戶端。它不包括執行容器所需的
dockerd
守護程序。因此,我們建議您改為安裝 Docker Desktop。
Mac 的二進位制檔案也不包含
- 一個執行時環境。您必須在虛擬機器中或遠端 Linux 機器上設定一個功能正常的引擎。
- Docker 元件,例如
buildx
和docker compose
。
要安裝客戶端二進位制檔案,請執行以下步驟
下載靜態二進位制存檔。前往 https://download.docker.com/mac/static/stable/ 並選擇
x86_64
(適用於 Intel 晶片的 Mac) 或aarch64
(適用於 Apple 晶片的 Mac),然後下載與您要安裝的 Docker Engine 版本相關的.tgz
檔案。使用
tar
實用程式提取存檔。docker
二進位制檔案將被提取出來。$ tar xzvf /path/to/<FILE>.tar.gz
清除擴充套件屬性以允許其執行。
$ sudo xattr -rc docker
現在,當您執行以下命令時,您可以看到 Docker CLI 的使用說明
$ docker/docker
可選:將二進位制檔案移動到您的可執行路徑上的目錄,例如
/usr/local/bin/
。如果您跳過此步驟,在呼叫docker
或dockerd
命令時必須提供可執行檔案的路徑。$ sudo cp docker/docker /usr/local/bin/
透過執行
hello-world
映象來驗證 Docker 是否已正確安裝。<hostname>
的值是執行 Docker 守護程序且客戶端可訪問的主機名或 IP 地址。$ sudo docker -H <hostname> run hello-world
此命令會下載一個測試映象並在容器中執行它。當容器執行時,它會列印一條訊息然後退出。
在 Windows 上安裝伺服器和客戶端二進位制檔案
注意以下部分描述瞭如何在 Windows Server 上安裝 Docker 守護程序,這隻允許您執行 Windows 容器。當您在 Windows Server 上安裝 Docker 守護程序時,該守護程序不包含 Docker 元件,如
buildx
和compose
。如果您執行的是 Windows 10 或 11,我們建議您改為安裝 Docker Desktop。
Windows 上的二進位制包同時包含 dockerd.exe
和 docker.exe
。在 Windows 上,這些二進位制檔案只提供執行原生 Windows 容器(而非 Linux 容器)的能力。
要安裝伺服器和客戶端二進位制檔案,請執行以下步驟
下載靜態二進位制存檔。轉到 https://download.docker.com/win/static/stable/x86_64 並從列表中選擇最新版本。
執行以下 PowerShell 命令來安裝並提取存檔到您的程式檔案目錄
PS C:\> Expand-Archive /path/to/<FILE>.zip -DestinationPath $Env:ProgramFiles
註冊服務並啟動 Docker Engine
PS C:\> &$Env:ProgramFiles\Docker\dockerd --register-service PS C:\> Start-Service docker
透過執行
hello-world
映象來驗證 Docker 是否已正確安裝。PS C:\> &$Env:ProgramFiles\Docker\docker run hello-world:nanoserver
此命令會下載一個測試映象並在容器中執行它。當容器執行時,它會列印一條訊息然後退出。
升級靜態二進位制檔案
要升級手動安裝的 Docker Engine,請先停止本地執行的任何 dockerd
或 dockerd.exe
程序,然後按照常規安裝步驟將新版本安裝在現有版本之上。
後續步驟
- 繼續閱讀Linux 的安裝後步驟。