docker network ls

docker network ls

docker network ls 명령은 네트워크 목록을 보여줍니다.

출처: 문서

본문

Engine daemon이 알고 있는 모든 네트워크를 나열하는 명령어예요. 클러스터에서 여러 호스트에 걸쳐 있는 네트워크도 포함돼요.

구분 내용
Description 네트워크 목록 보기
Usage docker network ls [OPTIONS]
Aliases docker network list

옵션 (Options)

옵션 기본값 설명
-f, --filter 필터 값 제공 (예: driver=bridge)
--format 사용자 정의 템플릿으로 출력 형식: 'table': 열 헤더가 있는 테이블 형식 출력 (기본값) 'table TEMPLATE': 주어진 Go 템플릿으로 테이블 형식 출력 'json': JSON 형식 출력 'TEMPLATE': 주어진 Go 템플릿으로 출력. 템플릿 출력 형식에 대한 자세한 내용은 https://docs.docker.com/go/formatting/ 참조
--no-trunc 출력 자르지 않기
-q, --quiet 네트워크 ID만 표시

예시 (Examples)

모든 네트워크 나열

$ docker network ls
NETWORK ID          NAME                DRIVER          SCOPE
7fca4eb8c647        bridge              bridge          local
9f904ee27bf5        none                null            local
cf03ee007fb4        host                host            local
78b03ee04fc4        multi-host          overlay         swarm

ID 열을 자르지 않고 네트워크 나열 (--no-trunc)

--no-trunc 옵션을 사용하면 전체 네트워크 id를 표시해요:

$ docker network ls --no-trunc
NETWORK ID                                                         NAME                DRIVER           SCOPE
18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3   none                null             local
c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47   host                host             local
7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185   bridge              bridge           local
95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd   foo                 bridge           local
63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161   dev                 bridge           local

필터링 (--filter)

필터링 플래그(-f 또는 --filter) 형식은 key=value 쌍이에요. 필터가 둘 이상이면 여러 플래그를 전달해요 (예: --filter "foo=bar" --filter "bif=baz"). 여러 필터 플래그는 OR 필터로 결합돼요. 예를 들어 -f type=custom -f type=builtincustombuiltin 네트워크를 모두 반환해요.

현재 지원되는 필터:

  • driver
  • id (네트워크의 id)
  • label (label=<key> 또는 label=<key>=<value>)
  • name (네트워크의 이름)
  • scope (swarm|global|local)
  • type (custom|builtin)

Driver

driver 필터는 드라이버를 기준으로 네트워크를 매칭해요.

다음 예는 bridge 드라이버를 가진 네트워크를 매칭해요:

$ docker network ls --filter driver=bridge
NETWORK ID          NAME                DRIVER            SCOPE
db9db329f835        test1               bridge            local
f6e212da9dfd        test2               bridge            local

ID

id 필터는 네트워크 ID의 전체 또는 일부와 매칭해요.

다음 필터는 ID에 63d1ff1f77b0... 문자열을 포함하는 모든 네트워크를 매칭해요.

$ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
NETWORK ID          NAME                DRIVER           SCOPE
63d1ff1f77b0        dev                 bridge           local

다음처럼 ID의 하위 문자열로도 필터링할 수 있어요:

$ docker network ls --filter id=95e74588f40d
NETWORK ID          NAME                DRIVER          SCOPE
95e74588f40d        foo                 bridge          local

$ docker network ls --filter id=95e
NETWORK ID          NAME                DRIVER          SCOPE
95e74588f40d        foo                 bridge          local

Label

label 필터는 label의 존재만으로 또는 label과 값으로 네트워크를 매칭해요.

다음 필터는 값과 관계없이 usage 라벨이 있는 네트워크를 매칭해요.

$ docker network ls -f "label=usage"
NETWORK ID          NAME                DRIVER         SCOPE
db9db329f835        test1               bridge         local
f6e212da9dfd        test2               bridge         local

다음 필터는 usage 라벨의 값이 prod인 네트워크를 매칭해요.

$ docker network ls -f "label=usage=prod"
NETWORK ID          NAME                DRIVER        SCOPE
f6e212da9dfd        test2               bridge        local

Name

name 필터는 네트워크 이름의 전체 또는 일부와 매칭해요.

다음 필터는 이름에 foobar 문자열을 포함하는 모든 네트워크를 매칭해요.

$ docker network ls --filter name=foobar
NETWORK ID          NAME                DRIVER       SCOPE
06e7eef0a170        foobar              bridge       local

다음처럼 이름의 하위 문자열로도 필터링할 수 있어요:

$ docker network ls --filter name=foo
NETWORK ID          NAME                DRIVER       SCOPE
95e74588f40d        foo                 bridge       local
06e7eef0a170        foobar              bridge       local

Scope

scope 필터는 네트워크의 스코프를 기준으로 매칭해요.

다음 예는 swarm 스코프의 네트워크를 매칭해요:

$ docker network ls --filter scope=swarm
NETWORK ID          NAME                DRIVER              SCOPE
xbtm0v4f1lfh        ingress             overlay             swarm
ic6r88twuu92        swarmnet            overlay             swarm

다음 예는 local 스코프의 네트워크를 매칭해요:

$ docker network ls --filter scope=local
NETWORK ID          NAME                DRIVER              SCOPE
e85227439ac7        bridge              bridge              local
0ca0e19443ed        host                host                local
ca13cc149a36        localnet            bridge              local
f9e115d2de35        none                null                local

Type

type 필터는 두 값을 지원해요. builtin은 사전 정의된 네트워크(bridge, none, host)를 표시하고, custom은 사용자 정의 네트워크를 표시해요.

다음 필터는 모든 사용자 정의 네트워크를 매칭해요:

$ docker network ls --filter type=custom
NETWORK ID          NAME                DRIVER       SCOPE
95e74588f40d        foo                 bridge       local
63d1ff1f77b0        dev                 bridge       local

이 플래그를 사용하면 일괄 정리가 가능해요. 예를 들어 이 필터로 모든 사용자 정의 네트워크를 삭제할 수 있어요:

$ docker network rm `docker network ls --filter type=custom -q`

컨테이너가 연결된 네트워크를 제거하려 하면 경고가 발생해요.

출력 형식 (--format)

형식 옵션(--format)은 Go 템플릿을 사용해 네트워크 출력을 보기 좋게 인쇄해요.

Go 템플릿에 유효한 플레이스홀더는 다음과 같아요:

플레이스홀더 설명
.ID 네트워크 ID
.Name 네트워크 이름
.Driver 네트워크 드라이버
.Scope 네트워크 스코프 (local, global)
.IPv6 네트워크에서 IPv6가 활성화됐는지 여부
.Internal 네트워크가 내부용인지 여부
.Labels 네트워크에 할당된 모든 라벨
.Label 이 네트워크의 특정 라벨 값. 예: {{.Label "project.version"}}
.CreatedAt 네트워크가 생성된 시각

--format 옵션을 사용하면 network ls 명령은 템플릿이 선언한 방식대로 정확히 데이터를 출력하거나, table 지시어를 사용할 때는 열 헤더도 포함해요.

다음 예는 헤더 없는 템플릿을 사용해 모든 네트워크의 IDDriver를 콜론(:)으로 구분해 출력해요:

$ docker network ls --format "{{.ID}}: {{.Driver}}"
afaaab448eb2: bridge
d1584f8dc718: host
391df270dc66: null

모든 네트워크를 JSON 형식으로 나열하려면 json 지시어를 사용해요:

$ docker network ls --format json
{"CreatedAt":"2021-03-09 21:41:29.798999529 +0000 UTC","Driver":"bridge","ID":"f33ba176dd8e","IPv6":"false","Internal":"false","Labels":"","Name":"bridge","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.772806592 +0000 UTC","Driver":"host","ID":"caf47bb3ac70","IPv6":"false","Internal":"false","Labels":"","Name":"host","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.752212603 +0000 UTC","Driver":"null","ID":"9d096c122066","IPv6":"false","Internal":"false","Labels":"","Name":"none","Scope":"local"}