docker stack services
docker stack services
docker stack services는 특정 스택(stack) 안에서 실행 중인 서비스 목록을 보여주는 명령이에요. 스택에 어떤 서비스가 떠 있는지 확인하고 싶을 때 사용해요.
출처: 문서
본문
docker stack services는 지정한 스택의 일부로 실행 중인 서비스 목록을 보여줘요.
docker stack services [OPTIONS] STACK
참고: 클러스터 관리 명령이라 스웜 매니저 노드에서 실행해야 해요.
지원하는 옵션은 다음과 같아요.
| 옵션 | 기본값 | 설명 |
|---|---|---|
-f, --filter |
조건에 따라 출력을 필터링해요. | |
--format |
Go 템플릿으로 출력 형식을 정해요. table(기본), table TEMPLATE, json, TEMPLATE을 지원해요. |
|
-q, --quiet |
ID만 표시해요. |
예시
myapp 스택의 모든 서비스를 보여주는 예시예요.
$ docker stack services myapp
ID NAME REPLICAS IMAGE
7be5ei6sqeye myapp_web 1/1 nginx@sha256:23f809e7fd5952e7d5be065b4d3643fbbceccd349d537b62a123ef2201bc886f
dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c812d1c044868d42c63817fa5125fd9d8b7b539
필터링 (--filter)
-f/--filter 형식은 key=value 쌍이에요. 필터가 여러 개면 플래그를 여러 번 넘기고, 여러 필터는 OR로 결합돼요.
$ docker stack services --filter name=myapp_web --filter name=myapp_db myapp
지원하는 필터는 다음과 같아요.
id/ID(예:--filter id=7be5ei6sqeye)label(예:--filter label=key=value)mode(예:--filter mode=replicated) — Swarm에서는 미지원name(예:--filter name=myapp_web)node(예:--filter node=mynode) — Swarm에서는 미지원service(예:--filter service=web) — Swarm에서는 미지원
출력 형식 (--format)
--format은 Go 템플릿으로 서비스 출력을 꾸며줘요. 사용할 수 있는 플레이스홀더는 다음과 같아요.
| 플레이스홀더 | 설명 |
|---|---|
.ID |
서비스 ID |
.Name |
서비스 이름 |
.Mode |
서비스 모드 (replicated, global) |
.Replicas |
서비스 레플리카 수 |
.Image |
서비스 이미지 |
헤더 없이 ID, Mode, Replicas를 콜론으로 구분해 출력하는 예시예요.
$ docker stack services --format "{{.ID}}: {{.Mode}} {{.Replicas}}"
0zmvwuiu3vue: replicated 10/10
fm6uf97exkul: global 5/5