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:052006-01-02T15:04:05.9999999992006-01-02Z07:002006-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 分以上経過したネットワークを削除します。 ただしシステムネットワークである bridgehostnone は取り除かれる(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 つまたは複数のネットワークを削除します。