Docker 引擎 API

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

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

Docker Engine API 是一個 RESTful API,可透過 HTTP 客戶端(如 `wget` 或 `curl`)或大多數現代程式語言都包含的 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.4.0
 API version:       1.51
 Go version:        go1.24.7
 Git commit:        d8eb465
 Built:             Wed Sep  3 20:57:32 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          28.4.0
  API version:      1.51 (minimum version 1.24)
  Go version:       go1.24.7
  Git commit:       249d679
  Built:            Wed Sep  3 20:57:32 2025
  OS/Arch:          linux/amd64
  ...

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

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

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

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

    $ DOCKER_API_VERSION=1.50
    

    在設定環境變數期間,即使 Docker 守護程式支援更新的版本,也會使用該 API 版本。此環境變數會停用 API 版本協商,因此您只應在必須使用特定 API 版本或用於除錯目的時使用它。

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

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

API 版本矩陣

已棄用的 API 版本

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