Deploy 서비스 속성
Deploy 서비스 속성 (Deploy service attribute - reference)
services 요소의 deploy 속성은 서비스 배포와 라이프사이클 설정을 지정해요. 이는 docker compose up으로 배포하는 것과 레거시 docker stack deploy에서 배포하는 것에 따라 동작이 달라질 수 있어요.
출처: 문서
본문
설명 (Description)
deploy 속성은 스택(Swarm) 배포에 관한 설정을 담아요. docker compose 단독 명령에서는 제한적인 하위 집합만 사용돼요.
속성 (Attributes)
endpoint_mode: 스택 배포 시 서비스에 도달하는 방식을 정하는 서비스 엔드포인트 모드.vip또는dnsrr.labels: 서비스에 적용될 라벨.mode:replicated(복제된 서비스, 기본) 또는global(전역 서비스).replicas:mode가replicated일 때 실행할 컨테이너 수.rollback_config: 실패 시 롤백 정책.update_config: 서비스 업데이트 구성.resources: 스택 배포에서 리소스 제한과 예약.restart_policy: 컨테이너 재시작 시점을 정의하는 정책.placement: 제약 조건과 선호도.max_replicas_per_node: 노드당 최대 복제본 수.
참고:
docker stack deploy에서는deploy가 활성화되고reserve·limits·placement·restart_policy같은 설정이 사용돼요.docker compose up에서는restart_policy만restart속성으로 변환되어 부분 지원되어요.resources의reservations는cpus와memory를,limits는 노드 수준 리소스 제한을 지정해요.
리소스 예시 (Resources example)
services:
frontend:
image: example/webapp
deploy:
mode: replicated
replicas: 2
resources:
limits:
cpus: '0.50'
memory: 50M
reservations:
cpus: '0.25'
memory: 20M
주의:
deploy.resources는 리소스 예약을 위한 것이고,docker compose up에서는 적용되지 않아요. 대신 서비스 컨테이너의 리소스 한도는limits·cpus·mem_limit속성으로 지정해요.
더 알아보기 (Learn more)
- Compose deployment docs와
docker stack deploy문서를 참고해요.