docker network prune

説明

使用していないネットワークを全て削除します。

1つまたは複数のネットワークを削除します。

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

使い方

$ docker network prune [OPTIONS]

補足説明

使用していないネットワークを全て削除します。使用していないネットワークとは、どのコンテナあらも参照されていないネットワークを指します。

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

オプション

名前, 省略形 デフォルト 説明
--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 )書式は「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 文字列(例: 10m1h3-m )で計算します。日付形式のタイムスタンプがサポートしているのは、RFC3339Nano 、 RFC3339 、 2006-01-02T15:04:052006-01-02T15:04:05.9999999992006-01-02Z07:002006-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分以上前に作成されたコンテナを削除します。 bridgehostnone といったシステム・ネットワークは削除できませんので、ご注意ください。

$ 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 craete ネットワーク作成
docker network disconnect ネットワークからコンテナを切断
docker network inspect 1つまたは複数ネットワークの情報を表示
docker network ls ネットワーク一覧表示
docker network prune 使用していないネットワークを全て削除
docker network rm 1つまたは複数ネットワークの削除