{{tag>[docker cli swarm stack compose]}} ====== Docker Stack ====== Compose 스타일 정의를 Swarm service 집합으로 배포하는 ''docker stack'' 그룹. ===== Summary ===== * standalone Compose와 달리 Swarm scheduler 위에 서비스와 네트워크를 배포한다. * ''stack deploy'' 는 ''docker compose up'' 의 직접 대체가 아니라 Swarm용 배포 경로다. * 여러 service를 묶은 앱 단위를 stack 이름으로 관리한다. ===== Usage ===== docker stack COMMAND ===== Command Groups ===== * ''deploy'': 새 stack 배포 또는 업데이트 * 주요 옵션: ''-c'', ''--compose-file'', ''--prune'', ''--resolve-image'', ''--with-registry-auth'', ''--detach'' * ''ls'': stack 목록 조회 * 주요 옵션: ''--format'' * ''services'': 특정 stack의 service 목록 * 주요 옵션: ''--filter'', ''--format'', ''-q'' * ''ps'': stack task 목록 * 주요 옵션: ''--filter'', ''--format'', ''--no-resolve'', ''--no-trunc'' * ''config'': merge와 interpolation 후 최종 config 출력 * ''rm'': stack 제거 ===== Examples ===== # Swarm stack 배포 docker stack deploy -c compose.yaml myapp # registry auth를 worker 노드에 전달 docker stack deploy -c compose.yaml --with-registry-auth myapp # task 상태 확인 docker stack ps myapp ===== Troubleshooting ===== * ''docker compose'' 에서 동작하던 옵션 일부가 Swarm ''deploy'' 문맥에서는 다르게 해석되거나 무시될 수 있다. * private registry 이미지를 쓰면 ''--with-registry-auth'' 필요 여부를 확인한다. * ''deploy'' 섹션은 Swarm에서만 의미가 크며, standalone Compose에서는 무시되는 값이 많다. ===== Help ===== +++ docker stack --help | Usage: docker stack COMMAND Manage Swarm stacks Commands: config Outputs the final config file, after doing merges and interpolations deploy Deploy a new stack or update an existing stack ls List stacks ps List the tasks in the stack rm Remove one or more stacks services List the services in the stack Run 'docker stack COMMAND --help' for more information on a command. +++ ===== See Also ===== * [[docker:ko]] * [[docker:compose]] * [[docker:service]] * [[docker:swarm]] ===== History ===== * codex:: 2026-07-06 Added docker stack subpage covering Swarm deployment and compose-file differences.