docker service scale
docker service scale
docker service scale는 스웜(Swarm)에서 복제 서비스(replicated service)의 레플리카(replica) 개수를 조절하는 명령이에요. 여러 서비스를 한 번에 스케일할 수도 있어요.
출처: 문서
본문
docker service scale은 하나 이상의 복제 서비스를 원하는 레플리카 수만큼 늘리거나 줄이는 명령이에요. 글로벌 모드(global mode) 서비스에는 적용할 수 없고, 명령은 바로 반환되지만 실제 스케일링은 시간이 걸릴 수 있어요. 서비스를 스웜에 유지하면서 레플리카를 모두 멈추고 싶다면 스케일을 0으로 설정하면 돼요.
docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]
참고: 이 명령은 클러스터 관리 명령이라 스웜 매니저 노드에서 실행해야 해요.
지원하는 옵션은 다음과 같아요.
| 옵션 | 기본값 | 설명 |
|---|---|---|
-d, --detach |
API 1.29+ 명령이 반환될 때까지 기다리지 않고 즉시 종료해요. |
단일 서비스 스케일
frontend 서비스를 50개 태스크로 스케일하는 예시예요.
$ docker service scale frontend=50
frontend scaled to 50
글로벌 서비스에 스케일을 적용하면 오류가 나요.
$ docker service create --mode global --name backend backend:latest
b4g08uwuairexjub6ome6usqh
$ docker service scale backend=10
backend: scale can only be used with replicated or replicated-job mode
docker service update로도 스케일할 수 있어요. 아래 두 명령은 같은 동작을 해요.
$ docker service scale frontend=50
$ docker service update --replicas=50 frontend
여러 서비스 스케일
여러 서비스의 태스크 수를 한 번에 정할 수 있어요.
$ docker service scale backend=3 frontend=5
backend scaled to 3
frontend scaled to 5