ステータスと名前でコンテナをフィルタリングする
このステップでは、docker ps
コマンドの--filter
フラグを使用して、コンテナのリストをステータスや名前でフィルタリングする方法を学びます。多くのコンテナがある場合に特定のコンテナを見つける際に便利です。
まず、別のコンテナを起動しましょう。今回は特定の名前を付けます。
docker run -d --name my-nginx nginx
docker run -d --name my-nginx nginx
コマンドは、nginx
イメージを基に新しいコンテナをデタッチドモードで実行し、my-nginx
という名前を割り当てます。
docker pull nginx
は明示的に必要ありません。docker run
はローカルにイメージがない場合自動的に取得します
次に、ステータスでフィルタリングして実行中のコンテナのみをリスト表示しましょう。
docker ps --filter status=running
このコマンドは現在「running」状態のコンテナのみを表示します。my-nginx
コンテナがリストに表示されるはずです。
続いて、名前でコンテナをフィルタリングします。
docker ps -a --filter name=my-nginx
このコマンドは(-a
により停止済みも含む)my-nginx
という名前のすべてのコンテナをリスト表示します。my-nginx
コンテナがそのステータスと共に表示されるはずです。
フィルタを組み合わせることも可能です。例えば、特定の名前で実行中のコンテナをリスト表示する場合:
docker ps --filter status=running --filter name=my-nginx
これはmy-nginx
コンテナが現在実行中の場合のみ表示します。