0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

docker psの表示を絞りたい

Last updated at Posted at 2021-01-05

なにこれ

準備

ヘルプ表示
$ docker ps -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker ps [OPTIONS]

List containers

Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display container IDs
  -s, --size            Display total file sizes
hello-worldコンテナを5つ作成
$ for i in `seq 1 5`; do  docker run hello-world; done
$ docker ps -a -n 5
CONTAINER ID   IMAGE         COMMAND    CREATED              STATUS                          PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             cool_hertz
e6d3616b5a67   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             clever_chatelet
bd7678b95d36   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             zealous_maxwell
e68109080f0b   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             agitated_fermi
d59d057989ce   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             vigilant_kilby

Runningのコンテナだけ表示する

全部Exitedなので表示されない
$ docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS                      PORTS     NAMES

CONTAINER IDで絞る

idが236858d287f8であるものを表示
$ docker ps -a -f id=bcca4b50f397
CONTAINER ID   IMAGE         COMMAND    CREATED              STATUS                          PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             cool_hertz

NAMEで絞る

NAMEがcool_hertzであるものを表示
$ docker ps -a -f name=cool_hertz
CONTAINER ID   IMAGE         COMMAND    CREATED              STATUS                          PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             cool_hertz
NAMEがcで始まるものを表示
$ docker ps -a -f name=^c.*
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   2 minutes ago   Exited (0) 2 minutes ago             cool_hertz
e6d3616b5a67   hello-world   "/hello"   2 minutes ago   Exited (0) 2 minutes ago             clever_chatelet

CONTAINER IDだけ出力する

NAMEがcで始まるもののCONTAINER_IDを出力
$ docker ps -a -f name=^c.* -q
bcca4b50f397
e6d3616b5a67

IMAGEだけ出力する

  • formatのPlaceHolderについて記事末尾を参照。
NAMEがcで始まるもののIMAGEを出力
$ docker ps -a -f name=^c.* --format '{{.Image}}'
hello-world
hello-world

カラムを限定する

  • formatのPlaceHolderについて記事末尾を参照。
CONTAINER_IDとNAMESとPORTSカラムのみ表示
$ docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
CONTAINER ID   NAMES                  PORTS
bcca4b50f397   cool_hertz             
e6d3616b5a67   clever_chatelet        
bd7678b95d36   zealous_maxwell        
e68109080f0b   agitated_fermi         
d59d057989ce   vigilant_kilby  

〇〇より前・後に作られたコンテナ

NAME=zealous_maxwellよりまえ
$ docker ps -a -f before=zealous_maxwell
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
e68109080f0b   hello-world   "/hello"   4 minutes ago   Exited (0) 4 minutes ago             agitated_fermi
d59d057989ce   hello-world   "/hello"   4 minutes ago   Exited (0) 4 minutes ago             vigilant_kilby

NAME=zealous_maxwellよりあと
$ docker ps -a -f since=zealous_maxwell 
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             cool_hertz
e6d3616b5a67   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             clever_chatelet

最後からn番目まで

最後に作られたコンテナ
docker ps -l
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             cool_hertz
最後から3番目まで
$ docker ps -a -n 3
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
bcca4b50f397   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             cool_hertz
e6d3616b5a67   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             clever_chatelet
bd7678b95d36   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             zealous_maxwell

ラベルで絞る

com.example.is-betaがのラベルが存在するものすべて
$ docker ps --filter "label=com.example.is-beta"
colorラベルの値がblueのもの
$ docker ps --filter "label=color=blue"

PlaceHolderについて

Placeholder (だいたい対応する)カラム名 Description
.ID CONTAINER ID コンテナID
.Image IMAGE イメージID
.Command COMMAND コマンド
.CreatedAt CREATED コンテナの作成日時
.RunningFor CREATEDから計算 コンテナの開始からの時間
.Ports PORTS 開放するポート
.State STATUS コンテナのステータス (例えば; “created”, “running”, “exited”).
.Status STATUS コンテナのステータス(詳細付き)
.Size SIZE コンテナのサイズ
.Names NAMES コンテナ名
.Labels - コンテナについたすべてのラベル
.Label - コンテナについた特定のラベル。 例えば '{{.Label "com.docker.swarm.cpu"}}'
.Mounts - マウントされたボリューム
.Networks - アタッチされたネットワーク

ついでに

絞った結果のコンテナをすべて削除する

直近3個のコンテナを削除する
# とりあえずxargsでdocker rmにCONTAINER IDをすべて渡せば消せる
$ docker ps -a -n 3 -q | xargs docker rm

サイズで絞るのは面倒

失敗例
# 一番左にsizeカラムが来るようにしたうえで、sortコマンドに処理させたらいいかと思ったが、
# 単位が邪魔だし、size/virtual sizeかも邪魔で区別できないので失敗する
$ docker ps -a -n 3 --format "table {{.Size}}\t{{.ID}}\t{{.Names}}\t{{.Ports}}" | (read -r; printf "%s\n"; sort -k 1)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?