docker version
說明 | 顯示 Docker 版本資訊 |
---|---|
用法 | docker version [選項] |
說明
version 命令會印出所有獨立版本 Docker 元件的目前版本號碼。使用 --format
選項來自訂輸出。
version 命令 (docker version
) 會輸出 Docker 元件的版本號碼,而 --version
旗標 (docker --version
) 會輸出您正在使用的 Docker CLI 的版本號碼。
預設輸出
預設輸出會將所有版本資訊分成兩個部分呈現;Client
部分包含 Docker CLI 和客戶端元件的資訊,而 Server
部分包含 Docker Engine 和 Docker Engine 使用的元件資訊,例如 containerd 和 runc OCI 執行階段。
顯示的資訊可能會因您安裝 Docker 的方式和正在使用的元件而有所不同。以下範例顯示在執行 Docker Desktop 的 macOS 電腦上的輸出
$ docker version
Client: Docker Engine - Community
Version: 23.0.3
API version: 1.42
Go version: go1.19.7
Git commit: 3e7cbfd
Built: Tue Apr 4 22:05:41 2023
OS/Arch: darwin/amd64
Context: default
Server: Docker Desktop 4.19.0 (12345)
Engine:
Version: 23.0.3
API version: 1.42 (minimum version 1.12)
Go version: go1.19.7
Git commit: 59118bf
Built: Tue Apr 4 22:05:41 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit: v1.1.5-0-gf19387a
docker-init:
Version: 0.19.0
GitCommit: de40ad0
客戶端和伺服器版本
Docker 使用客戶端/伺服器架構,讓您可以在本機電腦上使用 Docker CLI 來控制在遠端電腦上執行的 Docker Engine,該電腦可以是(例如)在雲端或虛擬機器中執行的電腦。
以下範例將 Docker CLI 切換為使用名為 remote-test-server
的上下文,該上下文在 Linux 伺服器上執行舊版 Docker Engine
$ docker context use remote-test-server
remote-test-server
$ docker version
Client: Docker Engine - Community
Version: 23.0.3
API version: 1.40 (downgraded from 1.42)
Go version: go1.19.7
Git commit: 3e7cbfd
Built: Tue Apr 4 22:05:41 2023
OS/Arch: darwin/amd64
Context: remote-test-server
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
containerd:
Version: v1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
API 版本和版本協商
客戶端使用的 API 版本取決於 Docker CLI 連線的 Docker Engine。當連線到 Docker Engine 時,Docker CLI 和 Docker Engine 會執行 API 版本協商,並選擇 Docker CLI 和 Docker Engine 都支援的最高 API 版本。
例如,如果 CLI 連線到 Docker Engine 版本 19.03,它會降級到 API 版本 1.40(請參閱API 版本矩陣以了解 Docker Engine 支援的 API 版本)
$ docker version --format '{{.Client.APIVersion}}'
1.40
請注意,也可以使用 DOCKER_API_VERSION
環境變數覆蓋 API 版本,這對於除錯目的很有用,並且會停用 API 版本協商。以下範例說明設定 DOCKER_API_VERSION
環境變數的環境。取消設定環境變數會移除覆蓋,並重新啟用 API 版本協商
$ env | grep DOCKER_API_VERSION
DOCKER_API_VERSION=1.39
$ docker version --format '{{.Client.APIVersion}}'
1.39
$ unset DOCKER_API_VERSION
$ docker version --format '{{.Client.APIVersion}}'
1.42
選項
選項 | 預設值 | 說明 |
---|---|---|
-f, --format | 使用自訂範本格式化輸出 'json': 以 JSON 格式印出 'TEMPLATE': 使用指定的 Go 範本印出輸出。 請參閱 https://docker-docs.dev.org.tw/go/formatting/ |