【Docker】よく利用するdocker composeコマンド(操作系コマンド)

Dockerロゴ Docker

docker-composeとの違い

似たようなコマンドでdocker-composeというコマンドも存在するので、
簡単に説明しておくと以下のような違いがある。

  • docker compose:新しいコマンド(docker-composeと互換性あり)
  • docker-compose:古いコマンド

これからは基本的にdocker composeの方を利用しておけば良い。

将来的には互換性がないサブコマンドが出ると思うが
ここで紹介してるコマンドであればdocker-composeと互換性のあるコマンドなので
読み替えてもらっても構わない。

コンテナ起動系

複数コンテナの生成

コンテナの生成、起動を行う場合はupを利用する。

$ docker compose -f ./sample/docker-compose.yml up
  • -f:定義ファイル名を指定する

docker composeコマンドは、デフォルトでカレンとディレクトリにある「docker-compose.yml」を参照するので、
ディレクトリが違ったりファイル名が違ったりする場合は-fオプションで指定する必要がある。

コンテナ起動時にDockerfileをビルドする

$ docker compose up --build

コンテナをバックグラウンドで実行する

$ docker compose up -d

-dオプションを起動すると、プロンプトの画面に戻る。

停止、再起動系

起動、停止、再起動

# コンテナの一括起動
$ docker compose start

# コンテナの一括停止
$ docker compose stop

# コンテナの一括再起動
$ docker compose restart

特定のコンテナのみを操作する

特定のコンテナのみを操作したい場合は、コマンドの引数にコンテナ名を指定するだけ。

# 「server_a」という名前のサービスのみを再起動する場合
$ docker compose restart server_a

削除系

複数コンテナの一括削除

compose定義ファイルによって作成されたコンテナを一括削除する場合は、rmを利用する。

$ docker compose rm

複数リソースの一括削除

compose定義ファイルに基づいて、docker compose upで作成されたコンテナや、Dockerイメージなどをまとめて全て削除する場合は、downを利用する。

# compose定義ファイルで指定したコンテナを停止し、全てのイメージを削除する
$ docker compose down -rmi all
  • -rmi all:全てのイメージを削除
  • -v:Compose定義ファイルのデータボリュームを削除(volumeを設定している場合は忘れずに)

まとめ

  • ここではコンテナの状態を変更するコマンドを紹介した
  • 確認系のコマンドは別の記事で紹介する
タイトルとURLをコピーしました