IT/Cloud & DevOps

컨테이너

iamhyeon 2025. 4. 17. 20:48

💡 컨테이너 기술

- 컨테이너 기술은 다양한 구현체가 존재하며, 그 중 가장 대표적인 플랫폼이 바로 ‘도커’ 이다
- 도커는 도커 플랫폼 자체를 의미하기도 하지만, 컨테이너 기술을 부르는 대명사로도 자주 쓰인다

 

 

💡 컨테이너

- 어떤 프로그램을 실행하기 위해 환경과 실행파일을 통째로 하나로 묶어서 실행할 수 있도록 하는 기술이다

- 컨테이너 기술로 실행되는 앱을 의미한다

 

 

💡 컨테이너 기술과 쿠버네티스

- 쿠버네티스는 컨테이너 기술을 바탕으로 복잡한 운영환경을 잘 운영할 수 있도록 도와준다

    - 최신 버전의 쿠버네티스는 컨테이너 기술 중 conatainerd, CRI-O와 같은 플랫폼을 사용한다

- 컨테이너 플랫폼은 OCI 라는 표준 인터페이스를 따르고 있기 때문에 거의 호환되어 도커로 실습이 가능하다 

- 도커를 기준으로 만들어진 앱도 다른 컨테이너 플랫폼에서 똑같이 실행할 수 있다

 

 

💡VM과 컨테이너 비교

- 컨테이너 기술은 호스트 OS와 완전히 격리된 것처럼 느껴지지만, 실제로는 호스트 OS와 자원을 공유한다

    - 컨테이너가 통째로 일종의 프로세스처럼 동작하는 것

- VM 기술은 하드웨어의 자원을 나눠서 직접 게스트 OS에 설치하는 방법이다

    - 보안적인 측면에서는 더 좋지만, 아무래도 가상으로 직접 OS를 설치하다 보니 성능이 좋지 못하다 

  VM (Virtual Machine) 컨테이너 (Container)
가상화 대상 하드웨어 전체 운영체제(OS) 수준
운영체제 포함 여부 각 VM마다 개별 OS 포함 호스트 OS 공유
무게(용량) 수 GB 이상 (무거움) 수 MB ~ 수백 MB (가벼움)
리소스 사용량 상대적으로 높음 상대적으로 적음
격리 수준 강력한 하드웨어 수준 격리 가벼운 프로세스 수준 격리
실행 단위 전체 OS + 앱 애플리케이션과 그 의존성만
호환성 이기종 OS 가능 (ex. 리눅스+윈도우) 동일 커널 기반 OS만 가능 (ex. 리눅스)
사용 예시 운영 환경 격리, 무거운 시스템 운영 마이크로서비스, 빠른 배포/롤백
대표 기술 VMware, VirtualBox, Hyper-V Docker, containerd, Podman

 

 

💡 쿠버네티스는 왜 컨테이너 기술을 바탕으로 하나

- 컨테이너 기술을 이용해서 만들어진 앱을 실행시키면, 어떤 환경에서 개발된 앱이라도 항상 동일한 조건으로 실행할 수 있다

    - 실제 운영 환경에서 보다 개발자의 의도대로 앱이 동작할 수 있다

- VM기술보다 컨테이너 기술이 훨씬 가볍기 때문에 성능이 좋다

 

 

 

 

 

 

 

 

 


refer to

https://velog.io/@taelee/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88VM%EA%B3%BC%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

반응형