[TIL]Docker Swarm-2025.08.18

2025. 8. 28. 15:46대외활동/인공지능사관학교

728x90
반응형
SMALL

Docker Swarm 정리

1. 핵심 개념

  • Docker Compose vs Docker Swarm
    • Compose: 단일 호스트(서버)에서 여러 컨테이너 서비스를 정의하고 올렸다 내리는 도구. 주로 개발/테스트 환경에서 활용.
    • Swarm: 여러 호스트(노드)를 묶어 클러스터로 만들고, 컨테이너를 분산 배포·스케줄링·관리할 수 있는 오케스트레이션 도구. 운영 환경(Production)에서 활용.
  • Swarm의 주요 기능
    1. 클러스터링: 여러 서버(노드)를 하나의 가상 Docker Host처럼 관리.
    2. 분산 배포: 서비스를 여러 노드에 자동으로 분산 배치.
    3. 부하 분산(Load Balancing): 같은 서비스를 여러 컨테이너가 실행 중이면 요청을 자동 분산 처리.
    4. 고가용성(Self-healing): 컨테이너가 죽으면 자동으로 다른 노드에 재시작.
    5. 롤링 업데이트: 서비스 업데이트 시, 다운타임 없이 점진적으로 컨테이너 교체.

 

2. 명령어 정리

  • Swarm 초기화→ 현재 노드를 Manager로 설정.
docker swarm init
  • 노드 추가→ Worker 노드를 클러스터에 연결.
docker swarm join --token <토큰> <Manager-IP>:2377
  • 서비스 배포→ nginx 컨테이너를 3개 복제해서 배포, 80포트로 노출.
docker service create --name web --replicas 3 -p 80:80 nginx
  • 서비스 업데이트→ 롤링 업데이트 실행.
docker service update --image nginx:latest web
  • 서비스 확인
docker service ls
docker service ps web

 

3. 오늘 배운 점

  • Compose는 “한 서버에 여러 컨테이너 관리”,
    Swarm은 “여러 서버에 걸쳐 컨테이너를 분산 관리”하는 개념 차이를 명확히 이해.
  • Swarm은 운영 환경에서 확장성, 안정성, 자동 복구를 보장해 주는 핵심 오케스트레이션 도구임을 알게 됨.
  • Kubernetes와 유사한 역할을 하지만, 상대적으로 단순한 구조라 학습 난이도가 낮음.
728x90
반응형
LIST