私はITスクールRareTECHで学習している実務未経験者のハル申します。
RareTECHのハッカソンは秋の陣が10月からスタートして11月末までアプリを完成させることを目標にしているRareTECHの名物コースになります。
初学者となります、間違いなどございましたら、ご指摘いただけると幸いです。
この記事を書くに至った経緯
10月からRareTECHに入会をしてすぐにハッカソンがあることをしり、できなくても何かしら力がつくと思い、参加しました。
今回参加したのは、入門コースで、使用する言語などは指定がありました。
その中で私自身初めてDockerを使用しました。
RareTECHの学習内容を進めるステップが500ある状況である程度進めると多くのことが理解でき、入門コースならある程度理解できる内容を網羅しているものではありますが、私は入会してまもないため、下記のコマンドすら知りませんでした。
起動で使用するコマンド
docker compose up
サービス用のコンテナを構築、作成、起動、アタッチします。リンクされているサービスがまだ起動していない場合は、それらも起動します。
全てを消したい時の魔法のコマンド
docker compose down --rmi all --volumes --remove-orphans
docker compose down
docker-compose.yml ファイルで定義されたサービスを停止し、関連するリソースを削除するコマンドです。
docker compose down は基本的に停止中のコンテナを削除し、作成したネットワークやボリューム(--volumes オプションで指定した場合)も削除します。
オプション
--rmi all
--rmi オプションは「イメージを削除」するオプションです。
all を指定すると、docker-compose.yml で定義されたすべてのサービスに関連するイメージを削除します。
デフォルトでは、docker compose down は不要なイメージ(使われていないイメージ)のみ削除しますが、all を指定すると、使用中のイメージも含めて全て削除されます。
--volumes
このオプションは、Compose プロジェクトに関連付けられているボリュームを削除します。
ボリュームは、コンテナのデータを永続化するために使用されるため、このオプションを指定すると、サービスの停止後に関連するボリュームが削除されます。
--remove-orphans
Docker Compose で定義されたサービスの中で、現在のプロジェクトに関連しない不要なコンテナ(オーケストレーション外のコンテナ)を削除します。
例えば、docker-compose.yml の設定からサービスが削除された場合、そのサービスのコンテナが「孤立した(orphan)」状態になります。このオプションを使うことで、それらの孤立したコンテナも削除します。
未使用のデータを削除する
docker system prune -a
Docker が管理しているシステム全体の未使用リソースをクリーンアップします。具体的には、次のリソースが削除対象となります。
・停止中のコンテナ
・使用されていないネットワーク
・未使用のボリューム
オプション
-a
現在どのコンテナにも使用されていない全てのイメージ
こちらのコマンドを使用すると確認のY/Nが出てくるのでめんどくさいんです、ハッカソン終盤でさらに便利になるコマンドを教えてもらいました。
docker system prune -af
オプション
f
force オプション
ユーザー確認プロンプトをスキップします。
ハッカソンを通じて、多くのことが学習できましたので、学びを記事にしてまいりたいと思います。
初めての記事作成となります、誤字脱字、コマンドの意味が違うなどあれば、コメントで訂正など入れていただけますと幸いです。