關於 Docker Offload
Docker Offload 是一項全託管服務,旨在讓您使用熟悉的 Docker 工具(包括 Docker Desktop、Docker CLI 和 Docker Compose)在雲端建置並執行容器。它將您本地的開發工作流程擴展到具備雲端運算能力的環境,讓您能夠卸載運算密集型任務、加速建置過程,並在整個軟體生命週期中安全地管理容器工作負載。
Docker Offload 同時支援 GPU 加速執行個體,讓您可以將運算密集型工作負載(例如 Docker Model Runner 以及其他受益於 GPU 的機器學習或資料處理任務)容器化並在雲端執行。
主要功能
Docker Offload 包含以下功能,以支援現代容器工作流程:
- 雲端建置:在遠端、全託管的 BuildKit 執行個體上執行建置。
- GPU 加速:使用配備 NVIDIA L4 GPU 的環境進行機器學習、媒體處理以及其他運算密集型工作負載。
- 暫時性雲端執行器(Ephemeral cloud runners):為每個容器會話自動配置並銷毀雲端環境。
- 共享建置快取:透過智慧化的共享快取層,提升機器與團隊成員之間的建置速度。
- 混合工作流程:使用 Docker Desktop 或 CLI,在本地與遠端執行之間無縫切換。
- 安全通訊:在 Docker Desktop 與雲端環境之間使用加密通道,並支援安全密鑰(secrets)與映像檔拉取。
- 連接埠轉發與 Bind Mounts:即便在雲端執行容器,仍能保留本地開發體驗。
- VDI 友善:在虛擬桌面環境或不支援嵌套虛擬化(nested virtualization)的系統中使用 Docker Offload。
為什麼要使用 Docker Offload?
Docker Offload 專為在本地與雲端環境間工作的現代開發團隊所設計,能協助您:
- 將繁重的建置與執行任務卸載至快速且可擴展的基礎架構上
- 加速開發與測試過程中的回饋循環
- 執行需要比本地設置更多資源的容器
- 即時存取配備 GPU 的環境,以建置並執行 AI 應用程式
- 使用 Docker Compose 管理需要雲端資源的複雜多服務應用程式
- 在無需管理自定義基礎架構的情況下,維持一致的開發環境
- 在受限或低效能環境(如 VDI)中高效開發
對於需要雲端靈活性,同時又不願犧牲本地工具簡便性的高頻率開發工作流程而言,Docker Offload 是理想之選。
Docker Offload 的運作方式
Docker Offload 透過將 Docker Desktop 連接至安全且專用的雲端資源,取代了在本地建置或執行容器的需求。
使用 Docker Offload 進行建置
當您使用 Docker Offload 進行建置時,docker buildx build 指令會將建置請求發送至雲端的遠端 BuildKit 執行個體,而非在本地執行。您的工作流程維持不變,僅執行環境發生了改變。
建置過程在由 Docker 配置與管理的基礎架構上執行。
- 每個雲端建置器皆為隔離的 Amazon EC2 執行個體,並擁有專屬的 EBS 磁碟區。
- 遠端建置器使用共享快取來加速跨機器與團隊成員的建置速度。
- 建置結果在傳輸過程中會進行加密,並發送至您指定的目的地(例如容器映像檔倉庫或本地映像檔儲存庫)。
Docker Offload 會自動管理建置器的生命週期,無需您自行配置或維護基礎架構。
注意Docker Offload 建置器目前託管於美國東部區域。其他區域的使用者可能會感受到較高的延遲。
使用 Docker Offload 執行容器
當您使用 Docker Offload 執行容器時,Docker Desktop 會建立一個安全的 SSH 通道,連線至運行於雲端的 Docker daemon。您的容器將完全在該遠端環境中啟動與管理。
運作流程如下:
- Docker Desktop 連接至雲端並觸發容器建立。
- Docker Offload 拉取所需的映像檔並在雲端啟動容器。
- 連線在容器執行期間保持開啟。
- 當容器停止執行後,環境將自動關閉並進行清理。
此設置避免了在本地執行容器的資源開銷,即使在效能較低的機器上(包括不支援嵌套虛擬化的機器),也能確保容器執行快速且可靠。這使得 Docker Offload 非常適合使用虛擬桌面、雲端開發機或舊型硬體的開發者。
Docker Offload 同時支援 GPU 加速的工作負載。需要 GPU 存取的容器可在配置 NVIDIA L4 GPU 的雲端執行個體上執行,以實現高效的 AI 推論、媒體處理與通用 GPU 加速。這使得模型評估、影像處理以及硬體加速的 CI 測試等運算密集型工作流程能在雲端無縫執行。
儘管是在遠端執行,但 Bind Mounts 與連接埠轉發等功能仍可順暢運作,從 Docker Desktop 和 CLI 內提供如同本地一般的體驗。
Docker Offload 為每個會話提供暫時性的雲端環境。只要您與 Docker Desktop 互動或積極使用容器,環境就會保持運作。若偵測到約 5 分鐘無任何活動,會話將自動關閉。會話結束時,環境中的任何容器、映像檔或磁碟區都會被刪除。
接下來
請參考 Docker Offload 快速入門,親自體驗 Docker Offload。