카테고리 없음

DOCKER

개발 공주 2023. 8. 5. 09:31
728x90

Docker Container 서비스란?

출처 : https://tech.cloudmt.co.kr/2022/06/29/도커와-컨테이너의-이해-1-3-컨테이너-사용법/

Docker는 컨테이너 기반의 오픈 소스 가상화 플랫폼입니다. 이러한 docker는 다양한 OS에서 작동하며, 개발/ 테스트/ 프로덕션 환경 간의 일관성을 유지하도록 돕습니다. docker의 위와 같은 특징을 이용하면 애플리케이션의 확장성과 이식성을 향상시킬 수 있습니다.

 

도커 이전의 VM 환경과의 비교

 

docker 컨테이너와 VM은 모두 애플리케이션을 격리된 환경에서 실행하기 위한 기술입니다. 하지만 이 두 가지는 작동 방식과 몇 가지 중요한 특성에서 차이를 보입니다.

  1. 가상화 수준 VM은 컴퓨터를 모방하는 소프트웨어입니다. 즉, 실제 물리 컴퓨터 위에 가상의 컴퓨터를 운영하는 것을 말합니다. 때문에 각각의 VM은 운영체제와 리소스를 필요로 하게 됩니다. 반면, Docker Container는 가상 컴퓨터가 아니라, OS 수준의 가상화를 제공합니다. 때문에 컴퓨터를 만드는 VM과는 다르게 경량화된 방법으로 애플리케이션을 구분합니다. 또한 1대의 컴퓨터의 호스트 OS를 공유하는 방식으로 운영됩니다.
  2. 리소스 효율성 VM은 가짜 컴퓨터마다 자체 OS를 가지고 있기 때문에 많은 리소스(메모리, CPU, 디스크 공간)를 많이 차지합니다. Docker Container는 호스트 OS와 리소스를 공유하기 때문에 적은 양의 리소스를 효율적으로 사용이 가능합니다.
  3. 이식성 Docker Container는 애플리케이션과 그 실행 환경을 패키지화 한 것으로 하드웨어의 OS와 동일한 환경에서 작동할 수 있기 때문에 이식성이 좋습니다.

Container Engine 종류

Docker

장점

  1. 가장 많이 사용하는 컨테이너 엔지이므로 다수의 래퍼런스 존재
  2. Kubernates에 종속되지 않음.
  3. 많은 플랫폼들이 Docker와 통합되도록 설계 되어있음.
  4. podman보다 성능이 좋다.

단점

  1. 데몬 환경에서 사용해서 demon에 문제 생기면 올 스탑
  2. root 권한을 부여해야해서 보안에 취약

Podman

장점 :

  1. Demonless 아키텍쳐 ⇒ 컨테이너가 독립적이라서 다른 컨테이너에 영향 x
  2. Root 권한 없이도 사용 가능해서 보안성이 좋음
  3. Pod 라는 개념이 K8s와 잘맞음

 

 

단점 :

  1. docker에 비해 많은 자료가 없다
  2. K8S와의 호환성이 높지만 다른 container ochestration 서비스와 호환이 좋지 않다.