컨테이너 기술

xgro·2022년 6월 3일
0

Docker

목록 보기
1/2
post-thumbnail

📌 컨테이너 기술과 도커

👉  가상머신과 컨테이너

클라우드 컴퓨팅에서 가상화는 하드웨어 기능을 시뮬레이션하여 애플리케이션 서버, 스토리지, 네트워크와 같은 유용한 IT 서비스를 생성하는 소프트웨어 아키텍처 기술이다.

최근 사용되고 있는 가상화는 하이퍼바이저를 이용한 가상머신과 컨테이너를 이용한 도커 방식이 있다.

  • 가상머신
    호스트 운영체제 위에 가상화 소프트웨어를 이용하여 여러개의 게스트 OS(Ubuntu, CentOS) 구동하는 방식이다. 하이퍼바이저는 가상머신을 생성하고 실행하는 역할과 가상화된 하드웨어와 각각의 가상머신을 모니터링하는 중간 관리자다.

  • 컨테이너
    가상화는 리눅스 기반의 물리적 공간 격리가 아닌 프로세스 격리를 통해 경량의 이미지를 실행하고 서비스할 수 있는 컨테이너 기술이다. 사전적 의미로 보면, 컨테이너는 특정 대상을 격리하는 공간

클라우드 서비스의 컨테이너는 애플리케이션을 구동하는 환경을 격리한 공간을 의미한다.

도커 엔진이 차용하고 있는 컨테이너 기술은 본래 리눅스 자체 기술인 chroot, 네임스페이스, cgroup을 조합한 리눅스 컨테이너에서 출발함

  • chroot:
    특정 디렉터리를 최상위 디렉터리 root로 인식하게끔 설정하는 리눅스 명령
  • 네임스페이스:
    프로세스 자원을 관리하는 기능으로, mnt, pid, ipc, user 등의 자원을 그룹화하여 할당하는 기능
  • cgroup:
    CPU, 메모리, 디스크 I/O, 네트워크 등의 자원

👉 컨테이너 기술의 장점

  • 하이퍼바이저와 게스트 OS가 없기 때문에 가볍다
  • 경량이기 때문에 만들어진 이미지 복제, 이관, 배포가 쉽다
  • 게스트 OS를 부팅하지 않기 때문에 애플리케이션 시작 시간이 빠르다
  • 가상머신보다 경량이므로 더 많은 애플리케이션을 실행 할 수 있다.
profile
안녕하세요! DevOps 엔지니어 이재찬입니다. 블로그에 대한 피드백은 언제나 환영합니다! 기술, 개발, 운영에 관한 다양한 주제로 함께 나누며, 더 나은 협업과 효율적인 개발 환경을 만드는 과정에 대해 인사이트를 나누고 싶습니다. 함께 여행하는 기분으로, 즐겁게 읽어주시면 감사하겠습니다! 🚀

0개의 댓글