
【Docker基礎】上位コマンドは省略できるの?
Docker のコマンドは、「上位コマンド + 副コマンド」という形式に統一されましたが、実は上位コマンドを省略した書き方もまだ通用します。これは過去との互換性を保つために残されている機能であり、将来的に廃止される可能性もあるので注意が必要です。ここでは、その背景と具体例を見ていきましょう。

Docker 1.13 からの再編成
- Docker 1.13 以前
・「docker run」や「docker pull」など、単一コマンドとして機能が提供されていた。 - Docker 1.13 以降
・コマンド体系が再編成され、上位コマンド + 副コマンド という形式に移行
・例:docker container run、docker image pullなど
旧コマンド vs. 新コマンド
| 旧コマンド (省略形) | 新コマンド (上位コマンド + 副コマンド) |
|---|---|
docker run | docker container run |
docker pull | docker image pull |
docker ps | docker container ls |
ポイント
- 「旧コマンド」はいまだ使えるが、将来的には切り捨てられる可能性がある。
- ドキュメントやスクリプトを書き換える際、新コマンド形式を意識するとよい。
古い書き方の互換性

Docker では過去のバージョンや習慣への配慮もあり、旧式の書き方も利用可能 です。
# 旧式
docker run penguin
# 再編成後(上位コマンドつき)
docker container run penguin現在はどちらの書き方でも実行できますが、将来的にいつまで対応されるかは不明。大幅なバージョンアップがあった際に、旧式書き方が通用しなくなる可能性もあるので要注意です。
「単独コマンド」(Solo Command) の存在
一部のコマンドは、いまだに上位コマンドなしの「単独コマンド (Solo Command)」として残っています。例えば、docker version や docker info などは「上位コマンド」が存在せず、そのままの形で使います。
| 単独コマンド | 説明 |
|---|---|
docker version | Docker のバージョン情報を表示 |
docker info | Docker の各種設定や状態を表示 |
ヒント
- こちらは新旧どちらの体系でも同じ扱い
- 副コマンドとして整理しづらいコマンドは、単独コマンド扱いになっている
将来的な変更に注意
今は古い書き方でも動作しますが、Docker Engine の大きな変更(例えば、メジャーバージョンアップ)で互換性が切り捨てられる可能性も否定できません。将来「コマンドが通らなくなった」という壁にぶつかった際は、まずは 「上位コマンド付きの新しい書き方」に直してみる ことを検討してください。
まとめ
- 上位コマンドの省略は依然可能
・旧コマンド (docker run,docker pullなど) はまだ動作するが、将来なくなるリスクがある。 - Docker 1.13 以降は「上位コマンド + 副コマンド」が基本
・docker container run,docker image pullなどを推奨 - 単独コマンド (Solo Command) も存在
・docker versionやdocker infoなど - 将来的な互換性を考えるなら、新コマンド形式を覚えておこう
・ドキュメントやスクリプトは「上位コマンド付き」で書くのが安定
このように、上位コマンドを省略した旧式の書き方は便利な反面、長期的には互換性の面で不安も残ります。今後の学習や実務では、「上位コマンド + 副コマンド」形式を積極的に取り入れていきましょう。次回は、実際に簡単なコマンドを実行しながら Docker のバージョンや情報を確認してみます。
