docker network prune
読む時間の目安: 2 分
説明
未使用のネットワークをすべて削除します。
API 1.25 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.25
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
利用方法
$ docker network prune [オプション]
追加説明
未使用のネットワークをすべて削除します。 未使用のネットワークとは、どのコンテナーからも参照されていないネットワークのことです。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--filter |
フィルター値を定めます。(たとえば 'until=<timestamp>') | |
--force , -f |
確認のためのプロンプトを表示しません。 |
利用例
$ docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
n1
n2
フィルター検索
フィルターフラグ(--filter
)の指定書式は「キー=値」というものです。
複数のフィルターが必要な場合は、フラグを複数指定します。
(たとえば --filter "foo=bar" --filter "bif=baz"
など。)
現在サポートされているフィルターは以下のとおりです。
- until (
<timestamp>
) - 指定された時刻より以前に生成されたネットワークのみ削除します。 - label (
label=<key>
,label=<key>=<value>
,label!=<key>
,label!=<key>=<value>
) - 指定されたラベル(label!=...
が用いられている場合は、そのラベル以外)が用いられているネットワークのみ削除します。
until
フィルターは Unix 時間から生成されるタイムスタンプや日付、Go 言語の時間文字列 (たとえば 10m
, 1h30m
)を、デーモンマシンの時刻との相対的な差異によって計算されます。
タイムスタンプから生成される日付の書式として、RFC3339Nano、RFC3339、2006-01-02T15:04:05
、2006-01-02T15:04:05.999999999
、2006-01-02Z07:00
、2006-01-02
などがサポートされます。
タイムスタンプの最後に Z
やタイムゾーンオフセット +-00:00
が指示されていなかった場合は、デーモンが利用しているタイムゾーンが用いられます。
Unix 時間を指定する場合は seconds[.nanoseconds]([秒.ナノ秒])の書式とします。
ここで秒には 1970 年 1 月 1 日(UTC/GMT の真夜中)からの経過秒数値を指定し、うるう秒を含めません(Unix エポックまたは Unix タイムとも言われる)。
そしてナノ秒には、8桁以下の秒の少数値を指定します。
label
フィルターは 2 つの書式をとります。
1 つは label=...
(label=<key>
または label=<key>=<value>
)であり、ここに指定されたラベルを持ったネットワークが削除されます。
もう 1 つは label!=...
(label!=<key>
または label!=<key>=<value>
)であり、ここに指定されたラベル以外を持ったネットワークが削除されます。
以下の例では生成から 5 分以上経過したネットワークを削除します。
ただしシステムネットワークである bridge
、host
、none
は取り除かれる(prune される)ことはありません。
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
7430df902d7a bridge bridge local
ea92373fd499 foo-1-day-ago bridge local
ab53663ed3c7 foo-1-min-ago bridge local
97b91972bc3b host host local
f949d337b1f5 none null local
$ docker network prune --force --filter until=5m
Deleted Networks:
foo-1-day-ago
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
7430df902d7a bridge bridge local
ab53663ed3c7 foo-1-min-ago bridge local
97b91972bc3b host host local
f949d337b1f5 none null local
上位コマンド
コマンド | 説明 |
---|---|
docker network | ネットワークを管理します。 |
関連コマンド
コマンド | 説明 |
docker network connect | コンテナーをネットワークに接続します。 |
docker network create | ネットワークを生成します。 |
docker network disconnect | ネットワークからコンテナーを切断します。 |
docker network inspect | 1 つまたは複数ネットワークの詳細情報を表示します。 |
docker network ls | ネットワークを一覧表示します。 |
docker network prune | 未使用のネットワークをすべて削除します。 |
docker network rm | 1 つまたは複数のネットワークを削除します。 |