GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerコンテナを一覧表示する方法

システムに存在するすべてのDockerコンテナをどのように一覧表示しますか?

これを行うには2つの方法があります:

  • docker psを使用する コマンド(古くて一般的な方法)
  • docker container コマンド(新しくてあまり知られていない方法)

クイックリファレンスとして、最も一般的な例を含むコマンドを簡単にリストします。

psコマンド コンテナコマンド コマンド表示
docker ps docker container ls 実行中のコンテナ
docker ps -a docker container ls -a すべてのコンテナ
docker ps
-f "status =exited"
docker container ls
-f "status =exited"
停止したコンテナ
docker ps -q docker container ls -q 実行中のコンテナのID
docker ps -l <​​/ td> docker container ls -l <​​/ td> 最新に作成されたコンテナ

ご覧のとおり、両方のps およびcontainer コマンドはオプションと同じです。

ただし、dockerはコマンドを適切に整理する必要があるため、docker container lsを使用することをお勧めします。 指図。

このため、docker container lsを使用します 詳細な例のコマンド。

実行中のDockerコンテナーを表示する

オプションがないと、実行中のコンテナのみが表示されます。

docker container ls

出力は詳細なものです:

[email protected]:~$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              8 seconds ago       Up 6 seconds                            ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           23 seconds ago      Up 22 seconds                           alp_con2

この出力を初めて見る場合は、出力のさまざまな要素について説明します。

  • Container ID -コンテナを識別するための一意の数値ID
  • Image -コンテナを作成したDockerイメージ
  • Command -コンテナの起動中に実行されるデフォルトのコマンド
  • Created -コンテナが作成された相対時間
  • Status -コンテナの状態(後で説明します)
  • Ports -コンテナの公開されたポート
  • Name -コンテナの名前。何も指定されていない場合は、とにかくランダムな名前が割り当てられます。
すべてのDockerコンテナを一覧表示

システム上のすべてのコンテナを表示する場合は、オプション-aを使用します 。

docker container ls -a

これが出力例で、停止したコンテナもいくつか表示されていることがわかります。

[email protected]:~$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              37 minutes ago      Up 37 minutes                                ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           37 minutes ago      Up 37 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              38 minutes ago      Created                                      alp_con
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart
停止したコンテナのみを表示

停止したコンテナのみを一覧表示する場合は、exitedで出力をフィルタリングできます。 ステータス。

docker container ls --filter "status=exited"

フィルタリングされた出力は次のとおりです。

[email protected]:~$ docker container ls --filter "status=exited"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart

exited 状態は停止したコンテナ用です。さまざまな目的に使用できるコンテナには、さらにいくつかのステータスがあります。

  • Created -作成されたが開始されていないコンテナ
  • restarting -再起動中のコンテナ
  • running -実行中のコンテナ
  • paused -プロセスが一時停止されたコンテナ
  • exited -停止したコンテナ
  • dead -停止しようとしたが失敗したコンテナ

実際、フィルタリングはステータスに限定されず、コンテナID、名前、画像など、コンテナリスト出力の他の要素に基づいてフィルタリングできます。次の例では、この概念を使用しています。

画像に関連付けられたコンテナを表示する

フィルタを使用すると、ancestorのみを使用して、特定の画像に関連付けられているすべてのコンテナを表示できます。 フィルタ。

docker container ls -a --filter "ancestor=image_name"

これは、AlpineLinuxのDockerイメージに関連付けられているすべてのコンテナーを表示する出力です。

[email protected]:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
93f84eb0f579        alpine              "/bin/sh"           48 minutes ago      Up 48 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              49 minutes ago      Created                                      alp_con
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
コンテナIDのみを表示

上記のすべてのコマンドがコンテナに詳細な出力を持っていることに気づきましたか?

コンテナ名、関連する画像、そのステータスなどの追加情報が必要ない場合は、クワイエットオプション-qを使用できます。 。

たとえば、-qを使用すると 前の例のオプションでは、AlpineLinuxに関連付けられているすべてのコンテナのIDのみが表示されます。

[email protected]:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661

これは、Dockerイメージのすべてのコンテナを削除する場合などに便利です。

さて、このDockerチュートリアルにはこれで十分です。 Dockerにコンテナーをリストするための十分なユースケースについて言及したと思います。このようなチュートリアルをもっと購読してください。


Docker
  1. LinuxでDockerコンテナを作成、一覧表示、削除する方法

  2. DockerComposeの使用方法

  3. Dockerコンテナを接続する方法

  1. DockerコンテナでMySQLを実行する方法

  2. DockerコンテナにSSHで接続する方法

  3. Dockerコンテナを終了する方法

  1. Dockerコンテナ間でデータを共有する方法

  2. Docker コンテナーをバックアップおよび復元する方法

  3. Docker コンテナを一時停止および再開する方法