내 잡다한 노트

docker stack이란? 본문

DevOps/docker

docker stack이란?

peanutwalnut 2025. 1. 3. 11:17

Docker Stack은 Docker의 오케스트레이션 도구 중 하나로, 주로 Docker Swarm 모드에서 여러 컨테이너 서비스를 관리하고 배포하는 데 사용됩니다. Docker Stack을 사용하면 복잡한 애플리케이션을 여러 서비스로 구성하고, 이를 하나의 스택으로 정의하여 쉽게 배포, 확장, 관리할 수 있습니다. 다음은 Docker Stack에 대한 주요 설명입니다.

주요 개념

  1. 스택(Stack)
    • 스택은 여러 개의 서비스, 네트워크, 볼륨 등을 하나의 단위로 묶은 구성입니다. 예를 들어, 웹 서버, 데이터베이스, 캐시 서버 등을 하나의 스택으로 정의할 수 있습니다.
  2. Compose 파일
    • docker-compose.yml 파일과 유사한 YAML 파일을 사용하여 스택의 구성을 정의합니다. 이 파일에는 각 서비스의 이미지, 포트, 볼륨, 네트워크 설정 등이 포함됩니다.
    • Docker Stack은 주로 docker-stack.yml 또는 compose 파일을 사용하여 스택을 정의합니다.
  3. Docker Swarm 모드
    • Docker Stack은 Docker Swarm 클러스터에서 동작합니다. Swarm 모드는 Docker의 네이티브 클러스터링 및 오케스트레이션 도구로, 여러 호스트에 걸쳐 컨테이너를 분산 배포하고 관리할 수 있게 해줍니다.

 

주요 명령어

  • 스택 배포지정된 YAML 파일을 기반으로 스택을 클러스터에 배포합니다.
     
    docker stack deploy -c docker-stack.yml <스택이름>
  • 스택 목록 조회현재 클러스터에 배포된 모든 스택의 목록을 표시합니다.
     
    docker stack ls
  • 스택 서비스 목록 조회특정 스택에 속한 모든 서비스의 상태를 확인합니다.
     
    docker stack services <스택이름>
  • 스택 제거지정된 스택을 클러스터에서 제거합니다.
     
    docker stack rm <스택이름>

 

 

 

'DevOps > docker' 카테고리의 다른 글

오버레이 네트워크  (0) 2024.12.26
Docker buildkit 이란?  (0) 2024.12.26
도커 컨테이너와 VM의 차이  (0) 2024.12.05
Dockerfile 멀티 스테이지 빌드  (1) 2024.11.30
Dockerfile 최적화 방안  (0) 2024.11.30