docker stack deploy
docker stack deploy
docker stack deploy는 Compose 파일을 기반으로 스택(stack)을 새로 배포하거나 기존 스택을 갱신하는 명령이에요. 스웜에 여러 서비스를 한 번에 배포하고 싶을 때 사용해요.
출처: 문서
본문
docker stack deploy는 스웜에서 Compose 파일로 스택을 만들고 갱신하는 명령이에요.
docker stack deploy [OPTIONS] STACK
별칭으로 docker stack up을 쓸 수 있어요.
참고: 클러스터 관리 명령이라 스웜 매니저 노드에서 실행해야 해요.
지원하는 옵션은 다음과 같아요.
| 옵션 | 기본값 | 설명 |
|---|---|---|
-c, --compose-file |
API 1.25+ Compose 파일 경로예요. -를 쓰면 표준 입력에서 읽어요. |
|
-d, --detach |
true |
스택 서비스가 수렴될 때까지 기다리지 않고 즉시 종료해요. |
--prune |
API 1.27+ 더 이상 참조되지 않는 서비스를 정리해요. | |
-q, --quiet |
진행 출력을 숨겨요. | |
--resolve-image |
always |
API 1.30+ 레지스트리에서 이미지 다이제스트와 지원 플랫폼을 조회할지 정해요 (always, changed, never). |
--with-registry-auth |
레지스트리 인증 정보를 Swarm 에이전트에 전달해요. |
Compose 파일 사용 (--compose-file)
deploy 명령은 Compose 파일 버전 3.0 이상을 지원해요.
$ docker stack deploy --compose-file docker-compose.yml vossibility
Ignoring unsupported options: links
Creating network vossibility_vossibility
Creating network vossibility_default
Creating service vossibility_nsqd
Creating service vossibility_logstash
Creating service vossibility_elasticsearch
Creating service vossibility_kibana
Creating service vossibility_ghollector
Creating service vossibility_lookupd
설정이 여러 Compose 파일로 나뉘어 있다면(기본 설정 + 환경별 오버라이드) --compose-file 플래그를 여러 번 줄 수 있어요.
$ docker stack deploy --compose-file docker-compose.yml -c docker-compose.prod.yml vossibility
배포 후에는 docker service ls로 서비스가 제대로 만들어졌는지 확인할 수 있어요.