도커 컨테이너 기초

corgiLoaf·2022년 12월 6일
0
post-thumbnail

참고 아티클 :
IBM - Containers vs. Virtual Machines
docker docs

컨테이너란 ?

🚩 목표 : 애플리케이션의 개발∙배포 편리화 & 독립성과 확장성

  • 소프트웨어나 애플리케이션의 OS 및 라이브러리 의존성을 줄이고 실행환경을 독립적으로 격리하기 위해 사용
  • 가상화된 공간을 리눅스의 자체 기능인 chroot, namespace, cgroup 을 사용하여 프로세스 단위의 격리 환경을 만드는 기술
  • 실행에 필요한 모든 파일을 포함하여 runtime 환경에서 애플리케이션을 패키지화하고 분리
  • 성능 손실을 최소화
  • 컨테이너에 필요한 커널은 호스트 커널과 공유



컨테이너 vs. 가상머신

VM

  • Hypervisor를 이용하여 하드웨어의 호스트 OS 를 가상화함
  • 각각의 VM은 guest OS, 하드웨어의 가상 복사본을 포함 -> 실제 컴퓨터의 Emulation

Containers

  • Hypervisor 없이 더 경량화된 가상 환경 제공
  • Containerization : 어플리케이션이 실행되기 위한 모든 라이브러리 및 실행 파일을 패키지화해서 제공 → 의존성 문제 최소화



도커 컨테이너

Docker - 컨테이너 기반의 오픈 소스 플랫폼

  • 도커는 여러 Layer로 구성

  • Docker file: Docker 가 어떻게 컨테이너를 build 하고 배포할 건지를 명시하는 파일
  • Docker image: 도커 컨테이너를 실행하기 위한 파일과 instruction 이 포함된 템플릿
  • Docker container: 이미지의 실행가능한 객체
profile
삽질하고 기록하기

0개의 댓글