Docker

[Docker] 스웜이란? (What is Docker Swarm?) / 도커 인 도커 (DinD)

nang. 2020. 3. 29. 23:58
반응형
SMALL

Docker Swarm

하나의 호스트에 컨테이너들을 배치하면 관리하기 쉽지만 많은 트래픽을 처리하기엔 실용적이지 않다.

따라서 여러개의 호스트에 컨테이너게 각기 배치되는 경우 스웜을 사용한다.

또, 하나의 호스트에서 하나 이상의 도커를 다룰 때도 스웜을 사용한다.

12.1 Swarm 이란?

여러 도커 호스트를 클러스터로 묶어주는 컨테이너 오케스트레이션 도구의 한 종류

  • 클러스터
    • 여기서는 다발, 묶음 의 개념으로 쓰였음
  • 오케스트레이션
    • 통합
  • 오케스트레이션 도구를 이용하면 호스트가 여러 대로 나뉘어 있다는 점을 신경쓰지 않고 클러스터를 투명하게 다룰 수 있다는 이점

12.1.1 관련 용어

  • 스웜 (swarm)
    • 클러스터 구축 및 관리 (주로 멀티 호스트)
  • 서비스
    • 컨테이너 하나 이상의 묶음 단위가 서비스
    • ** 서비스(service) 용어 **
      • docker-compose 파일 & swarm에서의 service
        • 컨테이너들이 모이면 서비스
        • 생성하고자 하는 컨테이너 항목들
        • service 아래 항목들은 하나하나의 컨테이너임
        • 멀티호스트인데 서비스가 별로 많지 않을 때 사용
      • Kubernetes에서의 service
        • 호스트가 여러개일 때 각각의 호스트 네트워크를 묶어주는 것
        • 멀티호스트인데 서비스가 많을 때 사용
  • 스택
    • 서비스들의 묶음 단위가 스택
    • 서비스가 여러개 모이면 스택이라는 공간
    • 이 스택이라는 공간에 데이터베이스 컨테이너, 웹서버 컨테이너 등등을 구축하게되는 것

12.2 Docker in Docker (Dind)

여러 대의 호스트를 갖추기위한 방법 중 하나

  • 도커 위에 도커를 올리는 것

    • 도커 위의 컨테이너 역할을 함
  • 가상머신을 사용하는 방법은?

    • 가상머신 시작 및 정지에 시간이 꽤 걸림
    • 오버헤드로 소모되는 리소스가 상당함
    • 도커 위에 도커 안에 mysql 컨테이너를 설치했고 mysql이 포함된 도커의 또 다른 컨테이너 리스트가 궁금하다면?
    $ docker exec -it mysql docker container ls
    ## docker를 두번 써야 한다.
반응형
LIST