【Docker基礎】コンテナ操作関連コマンド

 Docker を使う上で、最も頻繁に行う作業の一つがコンテナの操作です。コンテナを起動したり、停止したり、一覧表示したり。こうした一連の操作を司るコマンドが「docker container」という上位コマンドです。
 ここでは、その上で指定する副コマンド(start、stop、create、run、rm、exec、ls、cp、commitなど)がどのような役割を果たすのか、それぞれの概要やよく使うオプションと併せて紹介していきます。

「docker container 副コマンド」の構文

基本的な構文は、以下のようになります。

docker container <副コマンド> [オプション]

  • 上位コマンドcontainer
  • 副コマンド:コンテナに対して「何を」行うか(start / stop / run など)
  • オプション:コンテナ名や設定、挙動を指定するための追加パラメータ(例: --name, -d, -i, -t, など)

 なお、一部の副コマンドは「上位コマンド」を省略し、古い記述方法(例: docker run)でも使えます。これは歴史的経緯によるものですが、現行バージョンでも依然サポートされており、多くの現場では省略形が一般的に用いられています。

コンテナ操作関連コマンド一覧

 下表は、コンテナ操作を行う主な副コマンドの概要と、よく使うオプションをまとめたものです。

副コマンド内容省略可主なオプション
start停止中のコンテナを開始する-i(attachしたい場合に使用)
stop実行中のコンテナを停止する指定しないことが多い
createDockerイメージからコンテナを作成する。起動はしない--name, -e, -p, -v など
runDockerイメージをダウンロードし(必要に応じて)、コンテナを作成&起動する--name, -e, -p, -v, -d, -i, -t
rm停止中のコンテナを削除する-f(強制削除), -v(ボリューム削除), -a(一括削除時に使用)
exec実行中のコンテナ内でコマンドを実行する(コンテナに入るイメージ)-i, -t(対話的にコンテナ内に入る場合)
lsコンテナ一覧を表示する (旧コマンド docker ps)*1-a(停止コンテナを含めすべて表示)
cpファイルコピー:Dockerホスト ⇄ コンテナ 間でファイルをやりとりほとんど指定しないことが多い
commitコンテナをイメージに変換するほとんど指定しないことが多い

*1: 「ls」コマンドは旧来の記述では docker ps として使われるケースがほとんどです。

まとめ

  • docker container + 副コマンド でコンテナ操作を行う
    例: docker container run nginx
  • 一部コマンドは 上位コマンドを省略 して書ける
    例: docker run nginx(実際はこちらの方がよく見かける)
  • 代表的な副コマンド(start / stop / create / run / rm / exec / ls / cp / commit)を使いこなせば、一通りのコンテナ操作が可能

 これらのコマンドは Docker を使う上で 最も頻繁に登場 します。本サイトの今後の章で、これらのコマンドの実行例やオプションを具体的に試しながら操作方法を身につけていきましょう。