docker container prune

説明

すべての停止中のコンテナを削除します。

【API 1.25+】 このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.30 の必要があります。クライアントとデーモンの API バージョンを調べるには、クライアント上で docker version コマンドを使います。

使い方

$ docker container prune [OPTIONS]

補足説明

停止中のコンテナを全て削除します。

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

オプション

名前, 省略形

デフォルト

説明

--filter

フィルタ値を指定(例 until=<タイムスタンプ> )

--force, -f

確認のプロンプトを表示しない

使用例

不要なコンテナの :ruby:`削除 <prune>`

$ 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

親コマンド

コマンド

説明

docker

Docker CLI のベースコマンド。

関連コマンド

コマンド

説明

docker container attach

ローカルの標準入出、標準出力、標準エラーのストリームに、実行中のコンテナを :ruby:`接続 <attach>`

docker container commit

コンテナの変更から新しいイメージを作成

docker container cp

コンテナとローカルファイルシステム間で、ファイルやフォルダを :ruby:`コピー <copy>`

docker container create

新しいコンテナを :ruby:`作成 <create>`

docker container diff

コンテナのファイルシステム上で、ファイルやディレクトリの変更を調査

docker container exec

実行中のコンテナ内でコマンドを実行

docker container export

コンテナのファイルシステムを tar アーカイブとして :ruby:`出力 <export>`

docker container inspect

1つまたは複数コンテナの情報を表示

docker container kill

1つまたは複数の実行中コンテナを :ruby:`強制停止 <kill>`

docker container logs

コンテナのログを取得

docker container ls

コンテナ一覧

docker container pause

1つまたは複数コンテナ内の全てのプロセスを :ruby:`一時停止 <pause>`

docker container port

ポート :ruby:`割り当て <mapping>` の一覧か、特定のコンテナに対する :ruby:`割り当て <mapping>`

docker container prune

すべての停止中のコンテナを削除

docker container rename

コンテナの :ruby:`名前変更 <rename>`

docker container restart

1つまたは複数のコンテナを再起動

docker container rm

1つまたは複数のコンテナを :ruby:`削除 <remove>`

docker container run

新しいコンテナでコマンドを :ruby:`実行 <run>`

docker container start

1つまたは複数のコンテナを :ruby:`開始 <start>`

docker container stats

コンテナのリソース使用統計情報をライブストリームで表示

docker container stop

1つまたは複数の実行中コンテナを :ruby:`停止 <stop>`

docker container top

コンテナで実行中のプロセスを表示

docker container unpause

1つまたは複数コンテナの :ruby:`一時停止を解除 <unpause>`

docker container update

1つまたは複数コンテナの設定を :ruby:`更新 <update>`

docker container wait

1つまたは複数コンテナが停止するまでブロックし、終了コードを表示