docker node ps
docker node ps
docker node ps 명령은 하나 이상의 노드에서 실행 중인 태스크를 나열합니다 (기본: 현재 노드).
출처: 문서
본문
Docker가 알고 있는 노드의 모든 태스크를 나열하는 명령어예요. -f 또는 --filter 플래그로 필터링할 수 있어요. 사용 가능한 필터 옵션에 대한 자세한 내용은 필터링 섹션을 참고해요.
Swarm — 이 명령은 Swarm 오케스트레이터와 함께 동작해요.
참고
클러스터 관리 명령이며 swarm 매니저 노드에서 실행해야 해요. 매니저와 워커에 대해 알아보려면 문서의 Swarm 모드 섹션을 참고해요.
| 구분 | 내용 |
|---|---|
| Description | 하나 이상의 노드에서 실행 중인 태스크 나열 (기본: 현재 노드) |
| Usage | docker node ps [OPTIONS] [NODE...] |
옵션 (Options)
| 옵션 | 기본값 | 설명 |
|---|---|---|
-f, --filter |
제공된 조건에 따라 출력 필터링 | |
--format |
Go 템플릿으로 태스크 보기 좋게 출력 | |
--no-resolve |
ID를 이름으로 매핑하지 않기 | |
--no-trunc |
출력 자르지 않기 | |
-q, --quiet |
태스크 ID만 표시 |
예시 (Examples)
$ docker node ps swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
필터링 (--filter)
필터링 플래그(-f 또는 --filter) 형식은 "key=value"예요. 필터가 둘 이상이면 여러 플래그를 전달해요 (예: --filter "foo=bar" --filter "bif=baz").
현재 지원되는 필터:
name
name 필터는 태스크 이름의 전체 또는 일부와 매칭해요.
다음 필터는 이름에 redis 문자열을 포함하는 모든 태스크를 매칭해요.
$ docker node ps -f name=redis swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.1.7q92v0nr1hcgts2amcjyqg3pq redis:7.4.1 swarm-manager1 Running Running 5 hours
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 29 seconds
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.9.dkkual96p4bb3s6b10r7coxxt redis:7.4.1 swarm-manager1 Running Running 5 seconds
redis.10.0tgctg8h8cech4w0k0gwrmr23 redis:7.4.1 swarm-manager1 Running Running 5 seconds
id
id 필터는 태스크의 id와 매칭해요.
$ docker node ps -f id=bg8c07zzg87di2mufeq51a2qp swarm-manager1
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 5 seconds
label
label 필터는 label의 존재만 또는 label과 값으로 태스크를 매칭해요.
다음 필터는 값과 관계없이 usage 라벨이 있는 태스크를 매칭해요.
$ docker node ps -f "label=usage"
NAME IMAGE NODE DESIRED STATE CURRENT STATE
redis.6.b465edgho06e318egmgjbqo4o redis:7.4.1 swarm-manager1 Running Running 10 minutes
redis.7.bg8c07zzg87di2mufeq51a2qp redis:7.4.1 swarm-manager1 Running Running 9 minutes
desired-state
desired-state 필터는 running, shutdown, 또는 accepted 값을 받을 수 있어요.
출력 형식 (--format)
형식 옵션(--format)은 Go 템플릿을 사용해 태스크 출력을 보기 좋게 인쇄해요.
Go 템플릿에 유효한 플레이스홀더는 다음과 같아요:
| 플레이스홀더 | 설명 |
|---|---|
.ID |
태스크 ID |
.Name |
태스크 이름 |
.Image |
태스크 이미지 |
.Node |
노드 ID |
.DesiredState |
태스크의 원하는 상태 (running, shutdown, 또는 accepted) |
.CurrentState |
태스크의 현재 상태 |
.Error |
오류 |
.Ports |
태스크가 게시한 포트 |
--format 옵션을 사용하면 node ps 명령은 템플릿이 선언한 방식대로 정확히 데이터를 출력하거나, table 지시어를 사용할 때는 열 헤더도 포함해요.
다음 예는 헤더 없는 템플릿을 사용해 모든 태스크의 Name과 Image를 콜론(:)으로 구분해 출력해요:
$ docker node ps --format "{{.Name}}: {{.Image}}"
top.1: busybox
top.2: busybox
top.3: busybox