- Docker Swarm을 사용하면 고가용성과 통합 로드 밸런싱을 통해 컨테이너화된 서비스를 오케스트레이션하기 위한 노드 클러스터를 생성할 수 있습니다.
- 노드, 관리자, 작업자, 서비스, 작업 및 오버레이 네트워크라는 개념은 Swarm이 컨테이너를 관리하고 배포하는 방식을 이해하는 데 기본이 됩니다.
- `docker swarm init`, `docker service create`, `docker service scale`과 같은 명령어를 사용하면 애플리케이션을 쉽게 배포, 확장 및 업데이트할 수 있습니다.
- Swarm은 클라우드 서비스, DevOps 방식, AI 및 비즈니스 인텔리전스와 통합되어 중소 규모 프로젝트에 매우 적합합니다.

여러 대의 머신에 분산된 수십 또는 수백 개의 컨테이너를 관리하는 것은 기본적인 Docker 기능에만 의존할 경우 상당한 골칫거리가 될 수 있습니다. 고가용성, 자동 확장 또는 다운타임 없는 배포를 고려하기 시작하면 개별 컨테이너만으로는 부족합니다. 바로 컨테이너 오케스트레이션이 필요한 것입니다 . Docker Swarm은 클러스터 전체에서 컨테이너를 조정하는 Docker의 기본 솔루션입니다.
단일 머신에서 Docker Compose를 사용하다가 실제 환경에 적합하지 않다고 느낀다면, Swarm은 논리적인 다음 단계입니다. Swarm을 사용하면 노드 클러스터를 설정하고, 서비스를 분산하고, 로드 밸런싱을 수행하고, 충돌한 컨테이너를 교체하고, 궁극적으로 수많은 서버를 단일의 일관성 있는 프로덕션 플랫폼으로 전환할 수 있습니다. Kubernetes가 너무 복잡하거나 어렵다고 느껴진다면 굳이 바로 넘어가지 않아도 됩니다.
Docker Swarm이란 무엇이며 컨테이너 오케스트레이션에서 왜 중요한가요?
Docker Swarm은 Docker에 직접 내장된 클러스터링 및 오케스트레이션 엔진입니다 . 외부 도구가 아니라 Docker Engine 자체의 작동 모드로서, 여러 대의 머신(물리적 또는 가상)을 스웜이라고 하는 논리적 클러스터로 그룹화하고, 그 위에 격리된 컨테이너 대신 서비스를 배포할 수 있도록 해줍니다.
Swarm의 가장 큰 장점은 전체 노드 집합을 추상화하여 마치 단일 "슈퍼 서버"에서 작업하는 것처럼 운영할 수 있게 해준다는 것입니다. 서비스, 복제본 수, 노출 포트 및 제한 사항을 정의하면 Swarm이 각 컨테이너(태스크)를 실행할 위치, 노드 장애 발생 시 재분배 방법, 그리고 트래픽 분산 방법을 결정합니다.
컨테이너 오케스트레이션 측면에서 Docker Swarm은 많은 DevOps 팀의 일반적인 요구 사항을 충족합니다. 손쉬운 수평 확장, 기본적인 고가용성, 내부 로드 밸런싱, 노드 간 계층형 네트워크, 제어된 배포 등을 제공하여 마이크로서비스 아키텍처 에 적합합니다 . 특히 소규모 및 중규모 프로젝트나 Docker 생태계에 매우 익숙하지만 Kubernetes의 모든 복잡성을 필요로 하지 않는 조직에 유용합니다.
Swarm은 단순함이 핵심인 시나리오에 매우 적합합니다 . 연구실, 스테이징 환경, 중소기업 내 온프레미스 클러스터는 물론 복잡한 플랫폼 관리가 부담스러운 클라우드 프로덕션 환경에도 활용할 수 있습니다. 또한, Docker를 애플리케이션 패키징에 이미 사용하고 있는 CI/CD 파이프라인 및 DevOps 환경과도 원활하게 통합됩니다.
Docker Swarm의 핵심 개념: 노드, 서비스 및 네트워크
명령어를 마구 입력하기 전에 Swarm이 각 구성 요소를 어떻게 지칭하는지 이해하는 것이 중요합니다. 이러한 개념은 CLI와 문서에서 끊임없이 접하게 될 것입니다.
노드 는 스웜의 일부를 구성하는 모든 머신을 의미합니다. 물리적 서버, 클라우드의 가상 머신, 심지어 테스트 환경의 노트북까지 포함될 수 있습니다. 각 노드는 Docker Engine을 실행하고 특정 역할을 사용하여 클러스터에 등록됩니다.
관리자 노드 : 클러스터의 핵심 역할을 담당합니다. 원하는 상태를 유지하고, 작업을 예약하며, 운영을 총괄합니다. 제어 평면의 고가용성을 보장하기 위해 여러 개의 관리자 노드가 있을 수 있지만, 그중 하나가 리더 역할을 하여 나머지 노드들을 조율합니다.
워커 노드 : 이들은 스웜의 "작업자" 역할을 합니다. 오케스트레이션 결정을 내리지 않고, 관리자가 할당한 작업(컨테이너)을 실행하기만 합니다. 따라서 필요에 따라 워커를 추가하여 컴퓨팅 용량을 확장할 수 있습니다.
서비스 는 Swarm에서 배포 단위입니다. 서비스는 사용할 컨테이너 이미지, 복제본 수, 포트, 환경 변수, 구성, 비밀 키 및 기타 옵션을 정의합니다. `docker run`으로 단일 컨테이너를 실행하는 것과는 달리, `docker service create`는 Swarm이 원하는 상태로 유지할 서비스를 정의합니다.
태스크 는 서비스와 연결되어 노드에 할당된 컨테이너의 구체적인 인스턴스입니다. 예를 들어, 복제본이 3개인 서비스를 요청하면 Swarm은 3개의 태스크를 생성합니다. 태스크에 실패하면 관리자는 복제본 수를 유지하기 위해 새로운 태스크를 생성합니다.
오버레이 네트워크 : 이는 서로 다른 노드에 위치한 컨테이너들이 마치 동일한 로컬 네트워크에 있는 것처럼 통신할 수 있도록 하는 분산 가상 네트워크의 한 유형입니다. Swarm은 이러한 오버레이 네트워크를 활용하여 서비스를 연결하고, 복제본 간에 로드 밸런싱을 적용하며, 애플리케이션들을 서로 격리합니다.
첫 단계: Docker Swarm 클러스터 초기화 및 테스트
Docker가 이미 설치되어 있다면 기본적인 스웜 설정은 놀라울 정도로 간단합니다 . 추가 소프트웨어는 필요하지 않습니다. 스웜 모드를 활성화하고 노드를 클러스터에 추가하기만 하면 됩니다.
1단계: 첫 번째 관리자 노드를 생성합니다 . 초기 관리자 노드로 사용할 컴퓨터에서 다음 명령을 실행합니다.
docker swarm init –advertise-addr
`--advertise-addr` 매개변수는 다른 노드가 이 관리자를 볼 때 사용할 IP 주소를 지정합니다 . 명령을 실행하면 Docker는 자동으로 토큰과 명령을 표시하여 다른 노드가 워커로 스웜에 참여할 수 있도록 합니다.
2단계: 워커 노드를 클러스터에 추가합니다 . 워커 역할을 할 각 머신에서 다음과 유사한 명령을 실행합니다.
docker swarm join –token :2377
`docker swarm init` 명령어를 실행하면 참여 토큰과 관리자 노드의 IP 주소가 출력됩니다. 기본적으로 제어 통신에는 2377번 포트가 사용됩니다. 이후 노드는 스웜의 일원으로 인식되어 작업을 수신할 준비가 됩니다.
클러스터 상태를 확인하는 것은 관리자 계정으로 이동하여 다음 명령을 실행하는 것만큼 간단합니다(격리된 워커 계정에서는 작동하지 않습니다).
도커 노드 ls
이 명령어를 사용하면 스웜에 있는 모든 노드 와 해당 노드의 ID, 호스트 이름, 역할(관리자 또는 작업자), 현재 상태를 확인할 수 있습니다. 이를 통해 노드가 다운되었는지, 드레인 모드인지, 연결 문제가 있는지 등을 파악할 수 있습니다.
Docker Swarm에 서비스 배포하기: 첫 번째 Nginx 설치부터 프로덕션 환경 구축까지
클러스터가 정상적으로 작동되면 이제 흥미로운 부분인 서비스 배포가 시작됩니다. `docker run` 명령어로 개별 컨테이너를 실행하는 대신, Swarm이 자동으로 유지 관리하고 재균형을 조정하는 서비스를 정의하게 됩니다.
클러스터 외부에서 접근 가능한 Nginx 웹 서버와 같은 간단한 서비스를 생성하는 것은 다음과 같은 명령어를 사용하면 됩니다.
docker service create –name my-nginx -p 80:80 nginx
이렇게 하면 my-nginx라는 서비스가 시작되어 컨테이너의 80번 포트를 클러스터 노드의 80번 포트에 노출합니다. Swarm은 서비스를 게시하고 확장함에 따라 들어오는 요청을 여러 복제본에 걸쳐 로드 밸런싱하는 작업을 처리합니다.
배포된 서비스 목록을 보면 스웜에서 실행 중인 서비스를 추적하는 데 도움이 됩니다.
도커 서비스 ls
여기에는 서비스 이름, 모드, 그리고 현재/목표 형식으로 표시된 복제본 수가 나타납니다 . 예를 들어 3/5라고 표시되면 목표 상태에 도달하기 위한 작업이 생성 중인 상태입니다.
특정 서비스의 작업 세부 정보 및 상태를 확인하면 각 인스턴스가 어느 노드에서 실행 중인지 파악할 수 있습니다.
docker service ps my-nginx
출력 결과에는 작업, 할당된 노드 , 상태(실행 중, 준비 중, 종료 중 등), 사용된 이미지 및 실행 시간이 표시됩니다. 이는 배포 또는 로드 밸런싱 문제를 디버깅하는 데 필수적입니다.
서비스 수명주기 관리: 서비스 확장, 업그레이드 및 삭제
오케스트레이션의 가장 큰 장점 중 하나는 서버별로 접근하지 않고도 서비스를 확장하고 업데이트할 수 있다는 점입니다. Swarm을 사용하면 명령줄에서 이 작업을 매우 쉽게 수행할 수 있습니다.
Docker Swarm에서 서비스를 확장한다는 것은 서비스의 복제본 수를 총 몇 개로 지정할지 정하는 것을 의미합니다. 예를 들어, my-nginx 서비스를 단일 복제본으로 생성했는데 이를 세 개로 늘리고 싶다면 다음과 같이 하면 됩니다.
Docker 서비스 스케일 my-nginx=3
Swarm은 작업자 리소스와 상태를 고려하여 사용 가능한 노드에 새 작업을 예약합니다 . 나중에 더 많은 용량이 필요한 경우 다음 명령을 사용하여 복제본을 5개로 업그레이드할 수 있습니다.
Docker 서비스 스케일 my-nginx=5
서비스 이미지 업데이트는 특히 프로덕션 환경에서 중요한 또 다른 핵심 사항입니다. 컨테이너를 수동으로 중지하고 삭제하는 대신 제어된 방식으로 업데이트를 수행할 수 있습니다.
docker service update –image nginx:latest my-nginx
이 명령은 Swarm에게 정의된 업데이트 전략(기본값은 롤링 업데이트)에 따라 기존 작업을 새 이미지로 점진적으로 마이그레이션하도록 지시합니다 . 이렇게 하면 최종 사용자에게 미치는 영향을 최소화할 수 있습니다.
더 이상 필요하지 않은 서비스를 제거하는 작업은 개별 컨테이너 수준이 아닌 스웜 수준에서 수행됩니다.
docker service rm my-nginx
이렇게 하면 Swarm에서 관련된 모든 작업이 중지되고 제거되어 노드의 리소스가 확보됩니다. 이는 아키텍처에서 더 이상 필요하지 않은 구성 요소를 깔끔하게 제거하는 방법입니다.
실습 안내: 클러스터 설정 및 서비스 배포
개념을 강화하는 데에는 로컬 가상 머신이나 저렴한 클라우드 인스턴스를 사용하여 실험실 환경에서 재현할 수 있는 간단한 연습만큼 좋은 것이 없습니다 .
연습 1: Docker Swarm 클러스터를 구성하십시오 . 최소 3개의 노드(관리자 노드 1개, 작업자 노드 2개)를 사용하는 것이 목표입니다. 관리자 노드에서 다음 명령어를 사용하여 Swarm을 활성화하십시오.
docker swarm init –advertise-addr
다음으로, 출력에 표시된 join 명령어를 복사하여 각 워커에서 실행하십시오.
docker swarm join –token :2377
모든 것이 잘 진행되었는지 확인하세요 :
도커 노드 ls
관리자는 리더 상태로 , 작업자는 활성 상태로 표시됩니다. 만약 작업자 중 누군가가 다운 상태로 표시된다면, 연결 상태, 방화벽, Docker 버전을 확인하십시오.
연습 2: 서비스 배포 및 확장 . 클러스터가 준비되면 HTTP를 통해 접근 가능한 Nginx 서비스를 생성합니다.
docker service create –name my-nginx -p 80:80 nginx
다음 명령어로 존재 여부를 확인하세요 :
도커 서비스 ls
다음 방법을 사용하여 서비스를 세 개의 복제본으로 확장하세요.
Docker 서비스 스케일 my-nginx=3
다음 명령어를 사용하여 작업이 배포된 위치를 확인하세요.
docker service ps my-nginx
이 연습의 기본적인 해결책은 (충분한 리소스가 있는 경우) 세 가지 작업이 서로 다른 노드에 분산되어 처리되고, 클러스터의 80번 포트로 HTTP 요청을 보내면 Swarm이 내부 로드 밸런서에 따라 트래픽을 여러 복제본으로 라우팅하는 것입니다.
Docker Swarm을 사용하면 수동 컨테이너 관리보다 여러 가지 이점이 있습니다.
개별 컨테이너를 실행하는 대신 Swarm을 사용하면 단순한 테스트 환경 이상의 것이 필요할 때부터 여러 가지 이점이 분명해집니다.
Docker CLI에 통합된 간편한 배포 : 완전히 새로운 도구를 배울 필요가 없습니다. 서비스 및 클러스터 관리 명령은 docker run, docker ps 또는 docker images에서 이미 사용하고 있는 것과 매우 유사합니다.
내장 로드 밸런싱 : `-p` 옵션을 사용하여 서비스를 노출하면 Swarm은 필요한 노드에 해당 포트를 알리고 사용 가능한 복제본에 트래픽을 분산합니다. Traefik 과 같은 기본적인 외부 로드 밸런싱 도구를 추가하여 요청을 분산할 필요가 없으므로 초기 아키텍처 구성이 간소화됩니다.
고가용성 및 내결함성 : 컨테이너가 충돌하거나 워커 노드에 장애가 발생하면 Swarm은 작업 손실을 감지하고 다른 노드에서 작업을 다시 생성하여 복제본 수를 유지합니다. 이를 통해 개별적인 장애로 인한 서비스 중단을 상당 부분 방지할 수 있습니다.
원하는 상태를 중앙에서 관리할 수 있습니다 . 복제본 수, 사용할 이미지, 열 포트, 적용할 제한 사항 등을 지정하면 클러스터가 해당 상태로 수렴하도록 처리합니다. 향후 변경 사항(업데이트, 확장, 노드 드레이닝) 또한 이 제어 평면에서 관리됩니다.
프로젝트에서 Docker Swarm을 사용하는 것이 적절한 경우는 언제일까요?
모든 상황에 쿠버네티스나 고도화된 마이크로서비스가 필요한 것은 아닙니다 . 도커 스웜은 단순성과 오케스트레이션 기능 사이의 균형이 필요한 다양한 사용 사례에 매우 적합합니다.
소규모 및 중규모 프로덕션 클러스터 : 몇 개의 비즈니스 애플리케이션, API 또는 내부 서비스를 관리하고 인프라 규모가 크지 않은 경우, Swarm은 방대한 생태계를 학습할 필요 없이 필요한 기능을 제공합니다.
Docker를 적극적으로 활용하는 팀이 Kubernetes 학습 곡선에 얽매이지 않고 오케스트레이션으로 전환하고자 할 때 Swarm이 적합합니다. Swarm은 Docker Engine 자체에 포함되어 있으므로 전환이 훨씬 원활하고 빠릅니다.
클라우드 환경 및 분산 아키텍처 에서 주요 공급업체의 관리형 서비스(데이터베이스, 메시지 큐, 스토리지 등)를 계속 사용하면서 애플리케이션은 Swarm으로 오케스트레이션되는 컨테이너에서 실행하려는 경우에 적합합니다. 이는 단순함과 클라우드 기능을 결합하는 합리적인 방법입니다.
DevOps 및 자동화 사용 사례에서 이미지 빌드, 레지스트리 업로드, 클러스터 자동 배포를 위한 파이프라인이 필요한 경우에 Swarm은 CI/CD 도구와 잘 통합되어 빠른 지속적 배포 주기를 지원합니다.
극도의 제어, 거대한 생태계 또는 복잡한 통합이 필요한 경우에는 Kubernetes가 더 적합할 수 있습니다. 하지만 많은 실제 프로젝트에서 Swarm은 운영상의 마찰을 줄이면서 필요한 오케스트레이션 기능을 제공합니다.
실용적인 가이드와 DevOps 접근 방식: 기초부터 고급 배포까지
Docker Swarm에 대한 흩어진 튜토리얼, 알 수 없는 프로덕션 오류, 그리고 일관성 없는 문서들 속에서 길을 잃은 듯한 느낌을 받으셨다면 , 여러분은 혼자가 아닙니다. 많은 개발 및 운영 팀이 개별 컨테이너에서 오케스트레이션된 플랫폼으로 전환하는 과정에서 어려움을 겪습니다.
Swarm에 초점을 맞춘 포괄적인 DevOps 가이드는 일반적으로 몇 가지 핵심 블록으로 구성됩니다. 첫째, Docker의 기본 사항, 즉 이미지 생성, 컨테이너 관리 및 최적화 , 레지스트리 사용법, 그리고 최적의 패키징 방법을 설명합니다. 이러한 탄탄한 기초는 나중에 오케스트레이션이 악몽으로 변하는 것을 방지하는 데 필수적입니다.
다음으로 네트워킹 및 영속성에 대해 더 자세히 살펴보겠습니다 . Docker 네트워크 유형(브리지, 호스트, 오버레이, macvlan), 볼륨 관리 및 데이터 영속성, 그리고 Docker Compose를 사용한 멀티 컨테이너 애플리케이션 배포에 대해 알아봅니다. 이를 통해 분산 환경에 배포하기 전에 스택이 어떤 모습이어야 하는지 명확한 모델을 제시합니다.
다음 단계에서는 Swarm 서비스 구현에 중점을 두고 클러스터 초기화부터 시크릿, 구성, 스택과 같은 고급 기능까지 모든 것을 다룹니다. 여기서는 선언적 서비스 정의, 암호화된 자격 증명, 컨테이너 간 공유 구성을 사용합니다.
또 다른 중요한 영역은 로드 밸런싱, 로깅 및 관찰 가능성입니다 . 서비스를 적절하게 노출하고, 로그를 검토하고, 병목 현상을 식별하고, 문제 해결 기술을 적용하여 매일 높은 가용성을 유지하는 방법을 배우는 것이 중요합니다. 시스템 모니터링 및 진단을 위해서는 메트릭 및 경고를 다루는 고급 모니터링 가이드가 매우 유용할 것입니다.
마지막으로, 자동화된 이미지 빌드부터 클러스터 전체에 걸친 지속적인 배포에 이르기까지 모든 것이 실용적인 프로그래밍 연습을 통해 DevOps 파이프라인에 통합되어 모든 코드 변경 사항이 안정적이고 반복적으로 프로덕션 환경에 반영되도록 보장합니다.
기초를 넘어서: Docker 네트워크 및 Swarm을 활용한 다음 단계
클러스터와 초기 서비스를 시작하는 방법을 숙달했다면 , 다음 단계는 일반적으로 컨테이너들이 서로 그리고 외부 세계와 어떻게 통신하는지 철저히 이해하는 것입니다.
Docker 브리지 및 호스트 네트워크는 단일 머신 내 통신의 대부분을 담당하는 반면, 오버레이 네트워크는 스웜 내 여러 노드에 있는 컨테이너를 연결하는 데 핵심적인 역할을 합니다. 이러한 네트워크의 차이점, 각각의 사용 시점, 그리고 외부 방화벽 및 로드 밸런서와의 상호 작용 방식을 이해하는 것은 프로덕션 환경에서 예상치 못한 문제를 방지하는 데 필수적입니다.
macvlan과 같은 네트워크를 사용하면 물리적 네트워크의 "실제" IP 주소를 컨테이너에 할당할 수 있습니다 . 이는 서비스가 네트워크 수준에서 독립적인 호스트처럼 동작해야 하는 특정 환경에서 매우 유용할 수 있지만, 복잡성을 증가시키고 추가적인 구성 요구 사항을 발생시키기도 합니다.
Docker 네트워크에 대한 심층 분석을 통해 Swarm 서비스 설계를 조직 또는 클라우드 공급자의 네트워크 토폴로지에 더욱 효과적으로 맞추고, 어떤 서비스가 내부용이고 어떤 서비스가 외부에 노출되는지, 그리고 개발, 테스트, 프로덕션 환경 간 트래픽을 어떻게 분할할지 명확하게 정의할 수 있습니다.
Swarm의 또 다른 흥미로운 개발 분야는 자격 증명, 인증서 및 구성 파일을 이미지에 직접 포함하거나 일반 환경 변수를 사용하지 않고 관리하기 위해 비밀 키와 구성 키를 더욱 심층적으로 활용하는 것입니다. 이는 보안을 강화하고 환경 관리를 훨씬 체계적으로 만들어 줍니다.
Docker Swarm을 기반으로 구축된 맞춤형 개발, 클라우드 및 비즈니스 인텔리전스 서비스
컨테이너 오케스트레이션은 IT 생태계의 다른 부분과 동떨어져 있지 않습니다 . 맞춤형 애플리케이션 및 소프트웨어 개발을 전문으로 하는 회사들은 더욱 강력하고 확장 가능한 솔루션을 제공하기 위해 Swarm과 같은 컨테이너 플랫폼을 자주 활용합니다.
Swarm을 AWS 및 Azure 클라우드 서비스와 통합하면 유연한 클러스터 배포가 가능합니다.
또한 관리형 클라우드 구성 요소 (데이터베이스, 메시지 큐, 객체 스토리지)를 활용하면서 컨테이너 실행 계층에 대한 직접적인 제어권을 유지합니다.
이와 동시에, 기업용 인공지능(AI)은 컨테이너 기반의 오케스트레이션 환경에 매우 적합합니다. AI 모델, 추론 마이크로서비스, AI 에이전트는 부하에 따라 확장되는 스웜 서비스로 실행될 수 있으므로 단일 머신이 병목 현상을 일으키는 것을 방지할 수 있습니다.
비즈니스 인텔리전스 및 Power BI 영역에서 Docker Swarm에 백엔드를 배포하면 API, ETL 서비스 및 처리 파이프라인에서 데이터를 안정적으로 추출하는 것이 훨씬 쉬워집니다. 오케스트레이션을 통해 이러한 서비스가 항상 가용 상태를 유지하여 대시보드와 분석에 필요한 데이터를 제공할 수 있도록 보장합니다.
이러한 맥락에서 사이버 보안 또한 중요성이 커지고 있습니다 . TLS 통신, 제어된 이미지 업데이트, 취약점 스캔, 중앙 집중식 비밀 관리 등을 갖춘 잘 구성된 클러스터는 독립적인 컨테이너를 무질서하게 배포하는 것보다 위험을 줄여줍니다. 또한, 보안 강화 조치 와 접근 제어는 환경의 전반적인 보호를 향상시킵니다.
궁극적으로 Docker Swarm과 같은 오케스트레이션 플랫폼에서 맞춤형 개발, 클라우드 서비스, AI 및 BI를 결합하면 기술적 복잡성이나 운영 비용을 증가시키지 않고도 현대적이고 확장 가능하며 복원력이 뛰어난 솔루션을 구축할 수 있습니다.
Docker Swarm을 컨테이너 오케스트레이션 도구로 숙달하면 DevOps 분야에서 매우 강력한 위치를 확보하게 됩니다. 분산된 컨테이너와 불안정한 배포로 어려움을 겪던 단계에서 벗어나, 단순한 웹 애플리케이션부터 클라우드 서비스, 인공지능, 자동화, 통합 비즈니스 인텔리전스 솔루션을 갖춘 분산 아키텍처에 이르기까지 모든 것을 지원할 수 있는 일관되고 확장 가능하며 안전한 클러스터를 활용할 수 있게 됩니다.
색인
- 1 Docker Swarm이란 무엇이며 컨테이너 오케스트레이션에서 왜 중요한가요?
- 2 Docker Swarm의 핵심 개념: 노드, 서비스 및 네트워크
- 3 첫 단계: Docker Swarm 클러스터 초기화 및 테스트
- 4 Docker Swarm에 서비스 배포하기: 첫 번째 Nginx 설치부터 프로덕션 환경 구축까지
- 5 서비스 수명주기 관리: 서비스 확장, 업그레이드 및 삭제
- 6 실습 안내: 클러스터 설정 및 서비스 배포
- 7 Docker Swarm을 사용하면 수동 컨테이너 관리보다 여러 가지 이점이 있습니다.
- 8 프로젝트에서 Docker Swarm을 사용하는 것이 적절한 경우는 언제일까요?
- 9 실용적인 가이드와 DevOps 접근 방식: 기초부터 고급 배포까지
- 10 기초를 넘어서: Docker 네트워크 및 Swarm을 활용한 다음 단계
- 11 Docker Swarm을 기반으로 구축된 맞춤형 개발, 클라우드 및 비즈니스 인텔리전스 서비스
