0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ざっくりと解説】Macでdocker compose環境をクリーンアップしたいとき(メモ)

Posted at

はじめに

以前、docker composeを使用した際に、何回もファイルやディレクトリ操作をミスし、もう一度やり直したいときにどうすれば良いかChatGPT1に出力させたところ、以下のコードが返ってきた。

コマンド
docker compose down --rmi all --volumes --remove-orphans

それを何回も使っていたので、どういうものか調べてみると、Docker Compose環境を完全にクリーンアップしたいときに使用されるスーパー強行手段みたいでした。

ということで実際にはどういったクリーンアップ方法があるのか調べ、まとめてみました、

環境

以下の環境での説明です。

macOS Sequoia 15.6.1

docker compose環境をクリーンアップしたいとき

おそらく、この方法を使う機会というのは、docker compose buildを使用し、DockerfileからDocker imageが生成された段階だと思います。
はたまた、docker compose upまでいき、コンテナの作成と起動を行っている段階までいってる人もいると思います。

そうした時にクリーンアップは使えます。docker compose buildで失敗している場合は以下のコマンドをうっても変化はないと思います。

クリーンアップの段階

段階 コマンド
環境を部分的に停止 docker compose down
新しくビルドし直す docker compose down --rmi all
データ含めて完全初期化したい docker compose down --rmi all --volumes --remove-orphans
環境を部分的に停止

docker compose downを使用。

  • docker compose up で立ち上げたコンテナを停止。それらのコンテナを削除。
  • 同時に作られたデフォルトネットワークを削除。

ポイント

  • イメージは削除しない
  • ボリュームは削除しない
  • データや依存関係は保持される
環境を部分的に停止

docker compose downを使用。

  • docker compose up で立ち上げたコンテナを停止。それらのコンテナを削除。
  • 同時に作られたデフォルトネットワークを削除。

ポイント

  • イメージは削除しない
  • ボリュームは削除しない
  • データや依存関係は保持される
新しくビルドし直したい

docker compose down --rmi allを使用。

  • すべての関連イメージを削除
    • compose ファイルで定義されたサービス用にビルドまたは取得した Docker イメージを削除
  • 次に立ち上げるときは Dockerfile から再ビルドされる。
データ含めて完全初期化したい

docker compose down --rmi all --volumes --remove-orphans

一度、コマンドの整理をします。

オプション 意味 影響範囲
--rmi all すべての関連イメージを削除 compose ファイルで定義されたサービス用にビルドまたは取得した Docker イメージを削除
--volumes すべての関連ボリュームを削除 DBデータなど、永続化されたストレージを含むボリュームが消える
--remove-orphans 現在の docker-compose.yml に記載されていないコンテナも削除 古い構成や残骸コンテナをクリーンアップ

なので、環境を完全にリセットしたいときやDockerfile や依存ライブラリを大きく変更したとき(uby、Rails、Node.js、PostgreSQLなどのバージョンを変更、Gemfile や package.json の依存関係を入れ替えた)などがこのコマンドを使用するケースです。

クリーンアップ後は

docker compose buildで再インストールしてください。大丈夫であれば、docker compose upとその次はコンテナに移動といったかたちで作業を進めてください。

  1. Open AI, Inc. の生成AIサービス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?