Docker超入門:Dockerコマンドの新旧対応表:container系とimage系

 Dockerを操作するとき、実はコマンドには「新しい書き方」と「昔の書き方」が存在します。古いコマンドもまだ使えますが、最新のDockerでは 対象を明確にする形式 に移行しており、そちらを使うことが推奨されています。これを知っておけば、古い情報を見ても混乱せず、新しい書き方にすぐ置き換えることができます。ここでは、コンテナ系とイメージ系のコマンドを中心に、新旧対応表を整理して詳しく解説していきます。

Dockerコマンドの基本構文

Dockerの新しいコマンドは以下のような形式をとります。

docker 対象 操作 [オプション] [パラメータ]

例えば、コンテナを一覧表示する場合は

docker container ls

イメージを一覧表示する場合は

docker image ls

 といった具合に、「container」「image」などの対象を明示してから操作を指定するようになりました。これにより、コマンドの意味が直感的に理解しやすくなっています。

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

まずはコンテナ操作の新旧コマンドを比較してみましょう。

新コマンド旧コマンド説明
docker container attachdocker attach実行中のコンテナにアタッチする。
docker container commitdocker commitコンテナからイメージを作成する。
docker container cpdocker cpコンテナとローカル間でコピーする。
docker container createdocker create新しいコンテナを作成する。
docker container execdocker execコンテナ内でコマンドを実行する。
docker container inspectdocker inspectコンテナの詳細情報を表示する。
docker container killdocker 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新しいコンテナを起動する。
docker container startdocker start停止中のコンテナを開始する。
docker container stopdocker stop実行中のコンテナを停止する。
docker container unpausedocker unpause一時停止中のコンテナを再開する。

 新しい書き方では container を明示しているため、コマンドを見ただけで「コンテナに関する操作」だとすぐわかります。

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

次に、イメージ操作に関するコマンドを見ていきましょう。

新コマンド旧コマンド説明
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イメージにタグを付与する。

こちらも同じく、image を明示することで、対象がイメージであることがわかりやすくなっています。

コマンド書式とオプションの例

ここで一つ、具体的なコマンドを例にオプションも整理してみます。

docker container run --name webserver -d -p 8080:80 nginx
部分説明
docker container run新しいコンテナを起動する。
--name webserverコンテナに名前をつける。
-dデタッチモード(バックグラウンド実行)
-p 8080:80ホストの8080番ポートをコンテナの80番にマッピング
nginx使用するイメージ名

よく使うオプション一覧(runコマンド)

オプション説明
--name 名前コンテナに任意の名前をつける。
-dバックグラウンドで実行する。
-it対話モードで実行する。
-p ホスト:コンテナポート番号をマッピングする。
-v ホスト:コンテナボリュームをマウントする。

まとめ

 Dockerコマンドは、以前は単純に「docker run」「docker ps」のように対象が省略されていましたが、現在では docker container rundocker image ls のように対象を明示する形に進化しています。新しい形式はより直感的で、初心者にもわかりやすい書き方です。古いコマンドもまだ使えますが、将来的に削除される可能性があるため、新しい書き方に慣れておくことを強くおすすめします。