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 지시어를 사용할 때는 열 헤더도 포함해요.

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

$ docker node ps --format "{{.Name}}: {{.Image}}"

top.1: busybox
top.2: busybox
top.3: busybox