【Docker基礎】新旧Dockerコマンド

 Docker は進化を続ける中で、より使いやすく整理された新しいコマンド体系が導入されました。以前は単純に docker rundocker ps といった “省略形” が多く使われていましたが、バージョン 1.13 を境に、「docker container」や「docker image」などの上位コマンド が正式な位置づけになっています。
 ここでは、新旧 Docker コマンド の対応関係を見比べながら、その背景と使い方を解説します。古いコマンドはまだ使えますが、将来的に削除される可能性があるので、今から新しいコマンドを身につけておくと安心です。

なぜ新しいコマンドが導入されたのか?

  • 可読性・一貫性向上
    ・“Docker コンテナに対する操作” → docker container ~
    ・“Docker イメージに対する操作” → docker image ~
    ・という具合に、対象が明確 になった。
  • 将来の拡張性
    ・swarm / network / volume などの追加機能にも対応しやすい構造になった。

 旧コマンドは歴史的な経緯で使いやすさや体系性に不統一がありました。新コマンドはこの点を整理して、コマンド体系を分かりやすく したものと言えます。

新旧コマンドの対応(コンテナ系)

新コマンド旧コマンド説明
docker container attachdocker attach実行中のコンテナに**アタッチ(接続)**する
docker container commitdocker commitコンテナから イメージ を作成する
docker container cpdocker cpコンテナとホスト間でファイル をコピーする
docker container create(古い書き方なし)(単に docker create と呼ばれる場合あり)イメージから新コンテナを作成(起動しない)
docker container execdocker exec実行中のコンテナ内で コマンドを実行する
docker container inspectdocker inspectコンテナの詳細情報を表示
docker container killdocker killコンテナのプロセスを強制停止(kill シグナル)
docker container lsdocker ps実行中のコンテナ一覧を表示
docker container ls -adocker ps -a全コンテナ一覧(停止含む)を表示
docker container logsdocker logsコンテナのログを表示
docker container pausedocker pauseコンテナを一時停止
docker container prune(旧コマンドなし)停止中コンテナを一括削除
docker container renamedocker renameコンテナの名前を変更
docker container restartdocker restartコンテナを再起動
docker container rmdocker rmコンテナを削除
docker container rundocker runコンテナを作成 & 起動(必要ならイメージもpull)
docker container startdocker start停止中のコンテナを開始
docker container stopdocker stop実行中のコンテナを停止
docker container unpausedocker unpause一時停止中のコンテナを再開

新旧コマンドの対応(イメージ系)

新コマンド旧コマンド説明
docker image builddocker buildDockerfile から イメージをビルド
docker image historydocker historyイメージの履歴を表示
docker image importdocker importファイルからイメージを作成
docker image inspectdocker inspectイメージの詳細情報を表示
docker image loaddocker loadイメージを アーカイブから読み込み
docker image lsdocker imagesローカル保存されている イメージ一覧 を表示
docker image prune(旧コマンドなし)使われていないイメージを削除
docker image pulldocker pullレジストリから イメージを取得
docker image pushdocker pushイメージをレジストリへ送信
docker image rmdocker rmiイメージを削除
docker image savedocker saveイメージを アーカイブとして保存
docker image tagdocker tagイメージに タグを付与

新コマンドの特徴とメリット

  1. 対象が明確
    docker container ls であれば「コンテナの一覧表示」を行う、と一目でわかる。
    docker image ls は「イメージの一覧」
  2. 将来性
    ・Docker が新機能を追加する際、上位コマンドで分類できるため体系化しやすい。
  3. 旧コマンドはまだ動くが非推奨
    ・互換性維持のため残っているが、近い将来に削除される可能性あり。
    ・スクリプトやドキュメントは新コマンドで書き直しておくと安全

まとめ

  • 新コマンド体系: docker container ~, docker image ~, docker volume ~, docker network ~ など
  • 旧コマンド: docker run, docker ps, docker images, docker build などはまだ動くが将来消えるかも
  • メリット: 直感的・体系的、トラブルシューティングしやすい
  • これから学ぶなら: 新コマンドを推奨。ドキュメントでも新しい書き方が増えている

 今後 Docker を使いこなすうえで、新しいコマンド に馴染んでおくとスムーズです。特に学習の初期段階であれば、初めから「docker container start」「docker image build」のように入力しておくと、将来バージョンの変更に振り回されにくい でしょう。