Docker コンテナ 一覧 を正しく把握することは、日常的に Docker を扱うエンジニアや開発者にとって欠かせないスキルです。実行中のコンテナだけでなく、停止中や過去に作成されたコンテナも一覧表示する方法を理解しておくことで、環境管理やトラブルシューティングが効率的になります。この記事では、基本コマンドから詳細な表示項目の意味、さらに活用方法まで徹底的に解説していきます。
近年、クラウド開発や DevOps 環境ではコンテナ技術の利用が急速に拡大しています。その中でも Docker コンテナ 一覧 の理解は、単に「確認する」ためだけではなく、環境の整理やデバッグ、セキュリティ管理にまで直結します。以下では、実際のコマンド例や出力結果を交えながら、分かりやすく掘り下げていきます。
Docker コンテナ 一覧 を表示する基本コマンド
docker ps コマンドの概要
最も基本的なコマンドが docker ps です。
- 役割: 現在「実行中」のコンテナを一覧表示する。
- 特徴: 停止中のコンテナは表示されない。
実行例
$ docker ps
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abcdef123456 ubuntu:latest "/bin/bash" 2 hours ago Up 2 hours my-ubuntu-container
12345abc6789 nginx:latest "nginx -g 'daemon of…" 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp my-nginx
docker ps -a または docker ps --all の違い
- 役割: 実行中だけでなく、停止済みのコンテナも含めてすべて表示。
- 活用シーン: 過去に作成されたが終了したコンテナを確認したいときや、削除対象を把握したいとき。
実行例
$ docker ps -a
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abcdef123456 ubuntu:latest "/bin/bash" 2 hours ago Exited (0) 1 hour ago my-ubuntu-container
12345abc6789 nginx:latest "nginx -g 'daemon of…" 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp my-nginx
docker container ls コマンドとの違い
docker container ls の役割
docker psと同様に、実行中のコンテナを一覧表示する。- 推奨される新しい書き方で、
docker psのエイリアス的な位置づけ。
実行例
$ docker container ls
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:latest "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp my-nginx
docker container ls -a
docker container lsに -a オプション を追加すると、停止済みも含めてすべて表示される。
実行例
$ docker container ls -a
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 nginx:latest "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp my-nginx
gfedcba98765 ubuntu "/bin/bash" 2 minutes ago Exited (0) About a minute ago my-ubuntu
Docker コンテナ 一覧 に表示される情報の意味
以下は docker ps または docker container ls 実行時に表示される主要なカラムと意味です。
| カラム名 | 説明 |
|---|---|
| CONTAINER ID | コンテナのユニークな識別子。短縮表示されることが多い。 |
| IMAGE | コンテナのベースとなる Docker イメージ名。 |
| COMMAND | コンテナ起動時に実行されているコマンド。 |
| CREATED | コンテナが作成された日時。 |
| STATUS | コンテナの状態(例: Up、Exited、Paused)。 |
| PORTS | コンテナのポートとホストOSのポートのマッピング情報。 |
| NAMES | ユーザーが指定、または自動的に付与されたコンテナ名。 |
Docker コンテナ 一覧 の活用方法
1. 実行中の環境を把握
- 複数のアプリケーションを同時にコンテナで動かしている場合、どのサービスが稼働中か即座に確認可能。
2. 停止済みコンテナの整理
docker ps -aで停止済みを把握し、不要なものを削除。- 削除例:
$ docker rm <CONTAINER ID>
3. デバッグやトラブルシューティング
- STATUS カラムを見れば、起動に失敗したかどうかを素早く確認できる。
4. ポート競合の確認
- PORTS カラムで、どのコンテナがどのポートを使っているかを一覧確認可能。
表形式でまとめたコマンド比較
| コマンド | 表示対象 | 主な用途 |
|---|---|---|
docker ps | 実行中のコンテナのみ | 稼働中のサービス確認 |
docker ps -a | 実行中+停止済みすべて | 過去の履歴確認、削除対象の把握 |
docker container ls | 実行中のコンテナのみ | docker ps と同等、推奨される新しい記法 |
docker container ls -a | 実行中+停止済みすべて | より詳細にコンテナ管理、停止済み含めた確認 |
具体的なユースケース例
- 開発環境で複数コンテナを同時稼働
- Nginx、MySQL、Redis などを起動している場合、それぞれが正常に動いているかを確認。
- CI/CD パイプラインでの監視
- 自動テスト中に起動するコンテナが正しく実行されているかを即時チェック。
- トラブル発生時の調査
- あるサービスが応答しない場合、
docker ps -aで直近に異常終了していないかを確認。
- あるサービスが応答しない場合、
実際の運用でのポイント
- コンテナ名をつける習慣
名前を分かりやすく設定すると、トラブルシューティング時に識別が容易。 - 不要なコンテナを整理
放置するとディスク容量を圧迫するため、定期的にdocker container pruneを実行。 - 監視ツールと連携
Prometheus や Grafana などと組み合わせることで、docker ps情報を自動収集可能。
まとめ:Docker コンテナ 一覧 の重要性
本記事では Docker コンテナ 一覧 を確認するためのコマンドと、その詳細な使い方について解説しました。docker ps や docker container ls を使い分けることで、実行中・停止中を含めたコンテナ管理が効率的に行えます。さらに、表示される各カラムの意味を理解すれば、環境把握、トラブルシューティング、セキュリティ管理に役立ちます。
日々の開発や運用で Docker を扱う際には、ぜひこの記事で紹介した知識を活用し、Docker コンテナ 一覧 を自在に操れるようになりましょう。