在 Linux 上安裝 Docker Desktop
Docker Desktop 條款
在大型企業(擁有超過 250 名員工或年收入超過 1000 萬美元)中商業使用 Docker Desktop 需要付費訂閱。
本頁面包含有關一般系統要求、支援的平臺以及如何在 Linux 上安裝 Docker Desktop 的說明。
重要提示Linux 上的 Docker Desktop 在啟動時執行一個虛擬機器 (VM),該虛擬機器建立並使用一個自定義的 Docker 上下文
desktop-linux
。這意味著在 Linux Docker Engine(安裝前)上部署的映象和容器在 Linux 版 Docker Desktop 中不可用。
重要提示對於大型企業(員工超過 250 人或年收入超過 1000 萬美元)透過 Docker Desktop 獲取的 Docker Engine 進行商業用途,需要付費訂閱。
Linux 版 Docker Desktop 提供了一個使用者友好的圖形介面,可簡化容器和服務的管理。它包含 Docker Engine,因為這是驅動 Docker 容器的核心技術。Linux 版 Docker Desktop 還附帶了 Docker Scout 和 Docker Extensions 等附加功能。
安裝 Docker Desktop 和 Docker Engine
Linux 版 Docker Desktop 和 Docker Engine 可以並排安裝在同一臺機器上。Linux 版 Docker Desktop 將容器和映象儲存在 VM 內的隔離儲存位置,並提供控制以限制其資源。為 Docker Desktop 使用專用儲存位置可防止它干擾同一臺機器上的 Docker Engine 安裝。
雖然可以同時執行 Docker Desktop 和 Docker Engine,但在某些情況下同時執行兩者可能會導致問題。例如,當為容器對映網路埠(
-p
/--publish
)時,Docker Desktop 和 Docker Engine 都可能嘗試在您的機器上保留相同的埠,這可能導致衝突(“埠已被佔用”)。我們通常建議在使用 Docker Desktop 時停止 Docker Engine,以防止 Docker Engine 消耗資源並避免上述衝突。
使用以下命令停止 Docker Engine 服務
$ sudo systemctl stop docker docker.socket containerd
根據您的安裝情況,Docker Engine 可能會配置為在機器啟動時自動作為系統服務啟動。使用以下命令停用 Docker Engine 服務,並防止其自動啟動
$ sudo systemctl disable docker docker.socket containerd
在 Docker Desktop 和 Docker Engine 之間切換
Docker CLI 可用於與多個 Docker Engine 互動。例如,您可以使用相同的 Docker CLI 來控制本地 Docker Engine 和控制在雲中執行的遠端 Docker Engine 例項。Docker Contexts 允許您在 Docker Engine 例項之間切換。
安裝 Docker Desktop 時,會建立一個專用的“desktop-linux”上下文以與 Docker Desktop 互動。啟動時,Docker Desktop 會自動將其自己的上下文(
desktop-linux
)設定為當前上下文。這意味著後續的 Docker CLI 命令將指向 Docker Desktop。關閉時,Docker Desktop 會將當前上下文重置為default
上下文。使用
docker context ls
命令檢視機器上可用的上下文。當前上下文用星號 (*
) 表示。$ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ... default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock ... desktop-linux unix:///home/<user>/.docker/desktop/docker.sock ...
如果您的機器上同時安裝了 Docker Desktop 和 Docker Engine,您可以使用
docker context use
命令在 Docker Desktop 和 Docker Engine 上下文之間切換。例如,使用“default”上下文與 Docker Engine 互動$ docker context use default default Current context is now "default"
並使用
desktop-linux
上下文與 Docker Desktop 互動$ docker context use desktop-linux desktop-linux Current context is now "desktop-linux"
有關更多詳細資訊,請參閱 Docker Context 文件。
支援的平臺
Docker 為以下 Linux 發行版和架構提供 .deb
和 .rpm
軟體包
平臺 | x86_64 / amd64 |
---|---|
Ubuntu | ✅ |
Debian | ✅ |
Red Hat Enterprise Linux (RHEL) | ✅ |
Fedora | ✅ |
為基於 Arch 的發行版提供了一個實驗性軟體包。Docker 尚未測試或驗證安裝。
Docker 支援上述發行版的當前 LTS 版本和最新版本上的 Docker Desktop。隨著新版本的釋出,Docker 將停止支援最舊的版本並支援最新版本。
一般系統要求
要成功安裝 Docker Desktop,您的 Linux 主機必須滿足以下一般要求
- 64 位核心和 CPU 支援虛擬化。
- KVM 虛擬化支援。按照 KVM 虛擬化支援說明 檢查 KVM 核心模組是否已啟用以及如何提供對 KVM 裝置的訪問。
- QEMU 必須是 5.2 或更高版本。我們建議升級到最新版本。
- systemd 初始化系統。
- GNOME、KDE 或 MATE 桌面環境。
- 對於許多 Linux 發行版,GNOME 環境不支援托盤圖示。要新增對托盤圖示的支援,您需要安裝 GNOME 擴充套件。例如,AppIndicator。
- 至少 4 GB 記憶體。
- 啟用在使用者名稱空間中配置 ID 對映,請參閱檔案共享。請注意,對於 Docker Desktop 4.35 及更高版本,這已不再需要。
- 推薦:初始化
pass
用於憑證管理。
Linux 版 Docker Desktop 執行一個虛擬機器 (VM)。有關原因的更多資訊,請參閱為什麼 Linux 版 Docker Desktop 執行 VM。
注意Docker 不支援在巢狀虛擬化場景中執行 Linux 版 Docker Desktop。我們建議您在支援的發行版上原生執行 Linux 版 Docker Desktop。
KVM 虛擬化支援
Docker Desktop 執行一個需要 KVM 支援 的虛擬機器。
如果主機支援虛擬化,kvm
模組應自動載入。要手動載入模組,請執行
$ modprobe kvm
根據主機機器的處理器,必須載入相應的模組
$ modprobe kvm_intel # Intel processors
$ modprobe kvm_amd # AMD processors
如果上述命令失敗,可以透過執行以下命令檢視診斷資訊
$ kvm-ok
要檢查 KVM 模組是否已啟用,請執行
$ lsmod | grep kvm
kvm_amd 167936 0
ccp 126976 1 kvm_amd
kvm 1089536 1 kvm_amd
irqbypass 16384 1 kvm
設定 KVM 裝置使用者許可權
要檢查 /dev/kvm
的所有權,請執行
$ ls -al /dev/kvm
將您的使用者新增到 kvm 組以訪問 kvm 裝置
$ sudo usermod -aG kvm $USER
登出並重新登入,以便重新評估您的組成員資格。
接下來去哪裡
- 為您的特定 Linux 發行版安裝 Docker Desktop for Linux