docker container prune¶
説明¶
すべての停止中のコンテナを削除します。
【API 1.25+】 このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.30 の必要があります。クライアントとデーモンの API バージョンを調べるには、クライアント上で docker version
コマンドを使います。
使用例¶
不要なコンテナの 削除 ¶
$ docker container prune WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: 4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063 f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360 Total reclaimed space: 212 B
フィルタリング¶
フィルタリングのフラグ( --filter
)書式は「key=value」です。複数のフィルタがある場合は、フラグを複数回渡します(例 --filter "foo=bar" --filter "bif=baz"
)。
現在サポートしているフィルタは、こちらです。
until (
<timestamp>
まで ) - 指定したタイムスタンプより前に作成したコンテナのみ削除します。label (
label=<key>
、label=<key>=<value>
、label!=<key>
、label!=<key>=<value>
) - 指定したラベルのコンテナのみ削除します(または、label!=...
が使われる場合は、ラベルがない場合 )
until
でフィルタできるのは Unix タイムスタンプ、日付形式のタイムスタンプ、あるいはデーモンが動作しているマシン上の時刻からの相対時間を、 Go duration 文字列(例: 10m
、 1h3-m
)で計算します。日付形式のタイムスタンプがサポートしているのは、RFC3339Nano 、 RFC3339 、 2006-01-02T15:04:05
、 2006-01-02T15:04:05.999999999
、 2006-01-02Z07:00
、 2006-01-02
です。タイムスタンプの最後にタイムゾーンオフセットとして Z
か +-00:00
が指定されなければ、デーモンはローカルのタイムゾーンを使います。Unix タイムスタンプを 秒[.ナノ秒] で指定すると、秒数は 1970 年 1 月 1 日(UTC/GMT 零時)からの経過時間ですが、うるう秒(別名 Unix epoch や Unix time)を含みません。また、オプションで、9桁以上 .ナノ秒 フィールドは省略されます。
label
フィルタは2つの形式に対応します。1つは label=...
( label=<key>
または label=<key>=<value>
)であり、指定したラベルを持つコンテナを削除します。もう1つの形式は label!=...
( label!=<key>
または label!=<key>=<value>
)であり、指定たラベルがないコンテナを削除します。
以下は5分以上前に作成されたコンテナを削除します。
$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}'
CONTAINER ID IMAGE COMMAND CREATED AT STATUS
61b9efa71024 busybox "sh" 2017-01-04 13:23:33 -0800 PST Exited (0) 41 seconds ago
53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 12 minutes ago
$ docker container prune --force --filter "until=5m"
Deleted Containers:
53a9bc23a5168b6caa2bfbefddf1b30f93c7ad57f3dec271fd32707497cb9369
Total reclaimed space: 25 B
$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}'
CONTAINER ID IMAGE COMMAND CREATED AT STATUS
61b9efa71024 busybox "sh" 2017-01-04 13:23:33 -0800 PST Exited (0) 44 seconds ago
以下は、 2017-01-04T13:10:00
の前に作成されたコンテナを削除します。
$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}'
CONTAINER ID IMAGE COMMAND CREATED AT STATUS
53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 7 minutes ago
4a75091a6d61 busybox "sh" 2017-01-04 13:09:53 -0800 PST Exited (0) 9 minutes ago
$ docker container prune --force --filter "until=2017-01-04T13:10:00"
Deleted Containers:
4a75091a6d618526fcd8b33ccd6e5928ca2a64415466f768a6180004b0c72c6c
Total reclaimed space: 27 B
$ docker ps -a --format 'table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}'
CONTAINER ID IMAGE COMMAND CREATED AT STATUS
53a9bc23a516 busybox "sh" 2017-01-04 13:11:59 -0800 PST Exited (0) 9 minutes ago
関連コマンド¶
コマンド |
説明 |
---|---|
ローカルの標準入出、標準出力、標準エラーのストリームに、実行中のコンテナを |
|
コンテナの変更から新しいイメージを作成 |
|
コンテナとローカルファイルシステム間で、ファイルやフォルダを |
|
新しいコンテナを |
|
コンテナのファイルシステム上で、ファイルやディレクトリの変更を調査 |
|
実行中のコンテナ内でコマンドを実行 |
|
コンテナのファイルシステムを tar アーカイブとして |
|
1つまたは複数コンテナの情報を表示 |
|
1つまたは複数の実行中コンテナを |
|
コンテナのログを取得 |
|
コンテナ一覧 |
|
1つまたは複数コンテナ内の全てのプロセスを |
|
ポート |
|
すべての停止中のコンテナを削除 |
|
コンテナの |
|
1つまたは複数のコンテナを再起動 |
|
1つまたは複数のコンテナを |
|
新しいコンテナでコマンドを |
|
1つまたは複数のコンテナを |
|
コンテナのリソース使用統計情報をライブストリームで表示 |
|
1つまたは複数の実行中コンテナを |
|
コンテナで実行中のプロセスを表示 |
|
1つまたは複数コンテナの |
|
1つまたは複数コンテナの設定を |
|
1つまたは複数コンテナが停止するまでブロックし、終了コードを表示 |
参考
- docker container prune
https://docs.docker.com/engine/reference/commandline/container_prune/