docker stack ps
docker stack ps
docker stack ps는 특정 스택(stack) 안에서 실행 중인 태스크(task) 목록을 보여주는 명령이에요. 스택의 태스크 상태를 확인하고 싶을 때 사용해요.
출처: 문서
본문
docker stack ps는 지정한 스택의 일부로 실행 중인 태스크 목록을 보여줘요.
docker stack ps [OPTIONS] STACK
참고: 클러스터 관리 명령이라 스웜 매니저 노드에서 실행해야 해요.
지원하는 옵션은 다음과 같아요.
| 옵션 | 기본값 | 설명 |
|---|---|---|
-f, --filter |
조건에 따라 출력을 필터링해요. | |
--format |
Go 템플릿으로 출력 형식을 정해요. table(기본), table TEMPLATE, json, TEMPLATE을 지원해요. |
|
--no-resolve |
ID를 이름으로 변환하지 않아요. | |
--no-trunc |
출력을 자르지 않아요. | |
-q, --quiet |
태스크 ID만 표시해요. |
예시
voting 스택의 모든 태스크를 보여주는 예시예요.
$ docker stack ps voting
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
xim5bcqtgk1b voting_worker.1 dockersamples/examplevotingapp_worker:latest node2 Running Running 2 minutes ago
q7yik0ks1in6 voting_result.1 dockersamples/examplevotingapp_result:before node1 Running Running 2 minutes ago
rx5yo0866nfx voting_vote.1 dockersamples/examplevotingapp_vote:before node3 Running Running 2 minutes ago
tz6j82jnwrx7 voting_db.1 postgres:9.4 node1 Running Running 2 minutes ago
...
필터링 (--filter)
-f/--filter 형식은 key=value 쌍이에요. 여러 필터는 OR로 결합돼요. 지원하는 필터는 id, name, node, desired-state예요.
id: 태스크 ID 전체 또는 앞부분으로 일치 (예:-f "id=t")name: 태스크 이름으로 일치 (예:-f "name=voting_redis")node: 노드 이름 또는 ID로 일치 (예:-f "node=node1")desired-state:running,shutdown,ready,accepted값 사용 (예:-f "desired-state=running")
출력 형식 (--format)
--format은 Go 템플릿으로 태스크 출력을 꾸며줘요. 사용할 수 있는 플레이스홀더는 다음과 같아요.
| 플레이스홀더 | 설명 |
|---|---|
.ID |
태스크 ID |
.Name |
태스크 이름 |
.Image |
태스크 이미지 |
.Node |
노드 ID |
.DesiredState |
태스크의 원하는 상태 (running, shutdown, accepted) |
.CurrentState |
태스크의 현재 상태 |
.Error |
오류 |
.Ports |
태스크의 게시된 포트 |
헤더 없이 Name과 Image를 콜론으로 구분해 출력하는 예시예요.
$ docker stack ps --format "{{.Name}}: {{.Image}}" voting
voting_worker.1: dockersamples/examplevotingapp_worker:latest
voting_result.1: dockersamples/examplevotingapp_result:before
...
ID를 이름으로 변환하지 않기 (--no-resolve)
--no-resolve 옵션은 태스크 이름에 ID를 그대로 보여줘요.
출력 자르지 않기 (--no-trunc)
--no-trunc 옵션은 이미지 다이제스트(digest), 온전한 태스크 ID, 오류 메시지까지 자르지 않고 보여줘요.
태스크 ID만 표시 (-q, --quiet)
-q/--quiet 옵션은 스택 안의 태스크 ID만 출력해요.
$ docker stack ps -q voting
xim5bcqtgk1b
q7yik0ks1in6
...
이 옵션은 배치 작업에 사용할 수 있어요. 예를 들어 태스크 ID를 docker inspect 같은 다른 명령의 입력으로 쓸 수 있어요.
$ docker inspect $(docker stack ps -q voting)