Docker Engine API

Docker 提供了一個用於與 Docker 守護程序互動的 API(稱為 Docker Engine API),以及適用於 Go 和 Python 的 SDK。SDK 使您能夠高效地構建和擴充套件 Docker 應用程式和解決方案。如果 Go 或 Python 不適合您,您可以直接使用 Docker Engine API。

有關 Docker Engine SDK 的資訊,請參閱 使用 Docker Engine SDK 進行開發

Docker Engine API 是一個 RESTful API,可以透過 HTTP 客戶端(例如 wgetcurl)或大多數現代程式語言內建的 HTTP 庫訪問。

檢視 API 參考

您可以 檢視最新版本的 API 參考選擇特定版本

版本化 API 和 SDK

您應使用的 Docker Engine API 版本取決於您的 Docker 守護程序和 Docker 客戶端的版本。

給定的 Docker Engine SDK 版本支援特定版本的 Docker Engine API 以及所有早期版本。如果發生破壞性更改,都會顯著地記錄下來。

注意

Docker 守護程序和客戶端的版本不必始終相同。但請記住以下幾點。

  • 如果守護程序比客戶端新,客戶端將不知道守護程序中的新功能或已棄用的 API 端點。

  • 如果客戶端比守護程序新,客戶端可能會請求守護程序不知道的 API 端點。

新增新功能時會發布新版本的 API。Docker API 是向後相容的,因此您無需更新使用 API 的程式碼,除非您需要利用新功能。

要檢視您的 Docker 守護程序和客戶端支援的最高 API 版本,請使用 docker version 命令。

$ docker version
Client: Docker Engine - Community
 Version:           28.0.0
 API version:       1.48
 Go version:        go1.23.6
 Git commit:        f9ced58
 Built:             Wed Feb 19 22:11:04 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          28.0.0
  API version:      1.48 (minimum version 1.24)
  Go version:       go1.23.6
  Git commit:       af898ab
  Built:            Wed Feb 19 22:11:04 2025
  OS/Arch:          linux/amd64
  ...

您可以透過以下任何方式指定要使用的 API 版本

  • 使用 SDK 時,請使用最新版本。至少應使用包含您所需功能 API 版本的 SDK 版本。

  • 直接使用 curl 時,將版本指定為 URL 的第一部分。例如,如果端點是 /containers/,您可以使用 /v1.49/containers/

  • 要強制 Docker CLI 或 Docker Engine SDK 使用比 docker version 命令報告的版本更舊的 API 版本,請將環境變數 DOCKER_API_VERSION 設定為正確的版本。這適用於 Linux、Windows 或 macOS 客戶端。

    $ DOCKER_API_VERSION=1.48
    

    設定此環境變數後,將使用該版本的 API,即使 Docker 守護程序支援更新的版本也是如此。此環境變數會停用 API 版本協商,因此僅當您必須使用特定版本的 API 或出於除錯目的時才應使用它。

  • Docker Go SDK 允許您啟用 API 版本協商,自動選擇客戶端和正在使用的 Docker Engine 都支援的 API 版本。

  • 對於 SDK,您還可以透過程式設計方式將 API 版本指定為 client 物件的引數。請參閱 Go 建構函式Python SDK 中關於 client 的文件

API 版本矩陣

已棄用的 API 版本

v1.24 之前的 API 版本 已棄用。您可以在 GitHub 上的程式碼倉庫中找到已棄用 API 版本的存檔文件

頁面選項