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

더 알아보기