docker の便利コマンドをまとめてみた

## はじめに
最近dockerについてコマンドを調べていくうちにある程度の量になったことと、いろんなところにメモしすぎたせいで結局何回も調べてしまい効率が悪いと感じたのでひとつにまとめてみます。参考になれば幸いです。

## 早速まとめ
私個人的によく使いそうなものを表形式でまとめてみました。
おそらくこの表に記載されていないコマンドもあるかと思いますがとりあえず。

| コマンド                                                    | 機能                                                                                               | 使用時                                                       | 
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | 
| docker ps                                                   | 実行中のコンテナの一覧を表示                                                                       | 現在実行中のコンテナを確認したいとき                         | 
| docker ps -a                                                | 停止中を含む全てのコンテナの一覧を表示                                                             | 停止中のコンテナも含めて全てのコンテナを確認したいとき       | 
| docker images                                               | ローカルに保存されたイメージの一覧を表示                                                           | 使用可能なDockerイメージを確認したいとき                     | 
| docker run [OPTIONS] IMAGE [COMMAND] [ARG...]               | 新しいコンテナを作成し、指定したイメージを実行                                                     | 新しいコンテナを起動したいとき                               | 
| docker stop CONTAINER                                       | 実行中のコンテナを停止                                                                             | 実行中のコンテナを停止したいとき                             | 
| docker start CONTAINER                                      | 停止中のコンテナを再起動                                                                           | 停止しているコンテナを再起動したいとき                       | 
| docker rm CONTAINER                                         | 停止中のコンテナを削除                                                                             | 不要になったコンテナを削除したいとき                         | 
| docker rmi IMAGE                                            | ローカルにあるイメージを削除                                                                       |  不要になったイメージを削除したいとき                        | 
| docker logs CONTAINER                                       | 指定したコンテナのログを表示                                                                       | コンテナの実行ログを確認したいとき                           | 
| docker exec CONTAINER COMMAND                               | 実行中のコンテナ内でコマンドを実行                                                                 | 実行中のコンテナ内で追加のコマンドを実行したいとき           | 
| docker build -t IMAGE_NAME PATH                             | Dockerfileを使用してイメージをビルド                                                               | カスタムイメージを作成したいとき                             | 
| docker-compose up                                           | docker-compose.ymlファイルに基づいてマルチコンテナのDockerアプリケーションを起動                   | 複数のコンテナを一括して起動したいとき                       | 
| docker-compose down                                         | docker-compose.ymlファイルに基づいて起動した全てのコンテナを停止し、ネットワークやボリュームも削除 | docker-composeで起動した全てのコンテナを停止・削除したいとき | 
| docker network ls                                           | Dockerネットワークの一覧を表示                                                                     | 利用可能なネットワークを確認したいとき                       | 
| docker volume ls                                            | Dockerボリュームの一覧を表示                                                                       | 利用可能なボリュームを確認したいとき                         | 
| docker ps --filter status=exited                            | ステータスが "exited" のコンテナのみを表示                                                         | 終了したコンテナを確認したいとき                             | 
| docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" |  表形式でカスタムフォーマットで出力                                                                | コンテナ情報を見やすいフォーマットで確認したいとき           | 
| docker ps --no-trunc                                        | 出力の切り捨てを行わず、完全な情報を表示                                                           | コンテナIDやその他の詳細情報を完全な形で確認したいとき       | .

※COMANDやIMAGEというのは`docker ps`などで出力された時に確認できるかと思います。

### 主な出力項目
CONTAINER ID: コンテナの一意の識別子
IMAGE: コンテナが使用しているイメージ
COMMAND: コンテナを起動したコマンド
CREATED: コンテナが作成された日時
STATUS: コンテナの現在の状態（例: Up 5 minutes, Exited (0) 2 minutes ago）
PORTS: コンテナが公開しているポート
NAMES: コンテナの名前

## さいごに
これらのコマンドを活用することで、Dockerコンテナの状態や詳細情報をより柔軟に確認できるかと思います。覚えられるコマンドは覚えますが、「あのコマンドでこの操作ができたはず」くらいの感覚がちょうどいいかもしれません。エンジニアは知っておくべき情報が膨大だと感じているので