docker network prune
docker network prune
docker network prune 명령은 사용하지 않는 모든 네트워크를 제거합니다.
출처: 문서
본문
사용하지 않는 모든 네트워크를 제거하는 명령어예요. 사용하지 않는 네트워크는 어떤 컨테이너에서도 참조되지 않는 네트워크를 말해요.
| 구분 | 내용 |
|---|---|
| Description | 사용하지 않는 모든 네트워크 제거 |
| Usage | docker network prune [OPTIONS] |
옵션 (Options)
| 옵션 | 기본값 | 설명 |
|---|---|---|
--filter |
필터 값 제공 (예: until=<timestamp>) |
|
-f, --force |
확인 프롬프트를 표시하지 않음 |
예시 (Examples)
$ 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) 형식은 "key=value"예요. 필터가 둘 이상이면 여러 플래그를 전달해요 (예: --filter "foo=bar" --filter "bif=baz").
여러 필터가 제공되면 다음과 같이 결합돼요:
- 키가 다른 여러 필터는 AND 로직으로 결합돼요. 네트워크는 모든 필터 조건을 충족해야 제거돼요.
- 같은 키를 가진 여러 필터는 OR 로직으로 결합돼요. 해당 키의 값 중 하나라도 매칭되면 네트워크가 제거돼요.
예를 들어 --filter "label=foo" --filter "until=24h"는 foo 라벨이 있고 동시에 24시간 전에 생성된 네트워크를 제거해요. 반대로 --filter "label=foo" --filter "label=bar"는 foo 또는 bar 라벨 중 하나라도 가진 네트워크를 제거해요.
현재 지원되는 필터:
- until (
<timestamp>) - 주어진 타임스탬프 이전에 생성된 네트워크만 제거 - label (
label=<key>,label=<key>=<value>,label!=<key>, 또는label!=<key>=<value>) - 지정된 라벨이 있는(또는label!=...를 사용할 경우 없는) 네트워크만 제거
until 필터는 Unix 타임스탬프, 날짜 형식 타임스탬프, 또는 데몬 머신 시간 기준으로 계산된 ParseDuration이 지원하는 Go duration 문자열(예: 10m, 1h30m)일 수 있어요. 날짜 형식 타임스탬프에 지원되는 형식에는 RFC3339Nano, RFC3339, 2006-01-02T15:04:05, 2006-01-02T15:04:05.999999999, 2006-01-02T07:00, 2006-01-02가 있어요. 타임스탬프 끝에 Z 또는 +-00:00 시간대 오프셋을 제공하지 않으면 데몬의 로컬 시간대가 사용돼요. Unix 타임스탬프를 제공할 때는 seconds[.nanoseconds]를 입력하는데, seconds는 1970년 1월 1일(UTC/GMT 자정) 이후 경과한 초 수(Unix epoch 또는 Unix time)로 윤초는 제외하며, 선택적 .nanoseconds 필드는 9자리를 넘지 않는 초의 분수예요.
label 필터는 두 형식을 받아요. 하나는 label=...(label=<key> 또는 label=<key>=<value>)로 지정된 라벨이 있는 네트워크를 제거해요. 다른 형식은 label!=...(label!=<key> 또는 label!=<key>=<value>)로 지정된 라벨이 없는 네트워크를 제거해요.
다음은 5분 전에 생성된 네트워크를 제거해요. bridge, host, none 같은 시스템 네트워크는 절대 정리되지 않는다는 점에 유의해요:
$ 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