タイトル: バージョンの確認
SEOタイトル: Docker バージョン確認コマンド完全ガイド(version / info / compose)
| この記事の要点 |
|
もっとも基本: docker --version
docker --version
# Docker version 24.0.7, build afdd53b
docker -v
# 同じ(短縮形)
docker --version --format '{{.Client.Version}}'
# 24.0.7 ← バージョン番号だけ取りたいとき
これは Client (CLI) のバージョンだけを素早く返します。サーバー(dockerd)のバージョンは別途確認が必要です。
Client + Server の両方: docker version
ダッシュ無しの docker version は、CLI と Docker Engine の両方の詳細を表示します:
docker version
# Client: Docker Engine - Community
# Version: 24.0.7
# API version: 1.43
# Go version: go1.21.5
# Git commit: afdd53b
# Built: Thu Oct 26 09:08:01 2023
# OS/Arch: linux/amd64
# Context: default
#
# Server: Docker Desktop 4.27.1 (136059)
# Engine:
# Version: 24.0.6
# API version: 1.43 (minimum version 1.12)
# Go version: go1.20.7
# Git commit: 1a79695
# Built: Mon Sep 4 12:31:36 2023
# OS/Arch: linux/amd64
# Experimental: false
# containerd:
# Version: 1.7.6
# runc:
# Version: 1.1.9
# docker-init:
# Version: 0.19.0
このコマンドが返す情報は本番調査で最も重宝します。API version の互換性確認に必須。
用途別の使い分け
| コマンド | 表示内容 | 用途 |
|---|---|---|
docker --version | Client のみ 1 行 | サクッと確認 |
docker version | Client + Server 詳細 | 互換性調査 |
docker info | システム全体 | 構成・ストレージ確認 |
docker compose version | Compose V2 | 新形式の Compose |
docker-compose --version | Compose V1(旧) | 古い環境 |
docker info: システム全体の構成
docker info
# Client: Docker Engine - Community
# Version: 24.0.7
# Context: default
# Plugins:
# buildx: Docker Buildx (Docker Inc.)
# compose: Docker Compose (Docker Inc.)
#
# Server:
# Containers: 12
# Running: 3
# Paused: 0
# Stopped: 9
# Images: 47
# Server Version: 24.0.6
# Storage Driver: overlay2
# Backing Filesystem: extfs
# Logging Driver: json-file
# Cgroup Driver: systemd
# Cgroup Version: 2
# Plugins:
# Volume: local
# Network: bridge host ipvlan macvlan null overlay
# Runtimes: io.containerd.runc.v2 runc
# Default Runtime: runc
# Architecture: x86_64
# CPUs: 8
# Total Memory: 15.49GiB
# Name: ubuntu-host
# Kernel Version: 5.15.0-91-generic
# Operating System: Ubuntu 22.04.3 LTS
# Docker Root Dir: /var/lib/docker
本番障害調査では Storage Driver / Cgroup Driver / Total Memory / Server Version を必ずチェック。
JSON 出力(スクリプト連携)
# JSON で取得
docker version --format '{{json .}}' | jq
# 特定フィールドだけ
docker version --format '{{.Server.Version}}'
# 24.0.6
docker version --format '{{.Client.Version}}-{{.Server.Version}}'
# 24.0.7-24.0.6
# info も JSON 化可能
docker info --format '{{json .}}' | jq '.ServerVersion, .OperatingSystem'
Docker Compose のバージョン
Compose はV1 と V2 で根本的に違うので、コマンド形式に注意:
# Compose V2 (Docker Desktop / 現代の主流) ★ 推奨
docker compose version
# Docker Compose version v2.23.3
# Compose V1 (Python 製、サポート終了)
docker-compose --version
# docker-compose version 1.29.2, build 5becea4c
# V1 / V2 両方インストールされている場合、両方を確認
which docker-compose
docker compose version 2>/dev/null && echo "V2 あり"
V1 と V2 の違い
| 項目 | Compose V1 | Compose V2 |
|---|---|---|
| コマンド | docker-compose (ハイフン) | docker compose (スペース) |
| 言語 | Python | Go (docker CLI プラグイン) |
| サポート | 2023 年 6 月 EOL | ★ 現役 |
| 速度 | 遅い | 速い |
| 互換性 | compose.yaml v2/v3 | compose.yaml の全機能 |
Docker Desktop の特殊事情
Docker Desktop(Windows / Mac)はEngine + CLI + Compose + Kubernetes がワンパッケージ。GUI から一括確認可能:
- Docker Desktop メニュー → Settings → About
- Engine / Compose / Kubernetes / Credential Helper のバージョンが表示
- 右下の歯車から Software Updates でアップデート可能
WSL2 上の Docker(Windows)
# Windows PowerShell
docker version
# WSL Ubuntu 内
wsl -d Ubuntu
docker version
# Docker Desktop が WSL2 バックエンドの場合、両者で同じ Engine が見える
Docker Engine と Docker Desktop の違い
| 項目 | Docker Engine | Docker Desktop |
|---|---|---|
| 対象 OS | Linux (主) | Windows / Mac / Linux |
| GUI | 無し | あり |
| 料金 | 無料 | 個人/小規模無料、商用は有料 |
| WSL2 / VM | そのまま動く | WSL2 / Hyper-V / HVF を内蔵 |
| compose / k8s | 別途インストール | 同梱 |
古いバージョンが残っている場合の確認
# Linux のパッケージ管理
dpkg -l | grep docker # Debian/Ubuntu
rpm -qa | grep docker # CentOS/RHEL
# Snap 経由の場合
snap list | grep docker
# 複数バージョンが入っている場合
which -a docker
ls -la $(which docker)
バージョン互換性の調べ方
- Docker API バージョン:
docker versionのAPI version行 - SDK / クライアントは API version の上限を要求 → サーバ側が古いと動かない
- compose.yaml の
version指定(Compose V2 では非推奨) - Kubernetes 連携バージョンは Docker Desktop のみで管理
FAQ
Q: docker --version と docker version は何が違う?
A: 前者は CLI 本体だけの 1 行表示。後者は CLI + Engine の詳細を返します。スクリプトでサーバ側を見たいときは後者。
Q: docker-compose と docker compose、どちらを使うべき?
A: 新規は必ず docker compose (V2)。V1 (docker-compose) は 2023/6 で EOL。
Q: バージョンアップしたいが互換性が心配
A: docker version で API 互換を確認、テスト環境で docker info の Storage Driver 等が変わっていないか確認してから本番へ。