컨테이너Container

Container

앱과 필요한 실행 구성 요소를 이미지로 묶어, 격리된 프로세스로 실행하는 방식이에요.

쉽게 비유하면

필요한 도구를 같은 규격의 작업 상자에 담아 여러 현장에서 비슷하게 쓰는 것과 같아요.

조금 더 자세히

이미지는 실행에 필요한 파일과 설정의 틀이고, 컨테이너는 그 이미지를 실행한 인스턴스예요. 일반적인 운영체제 컨테이너는 호스트 커널을 공유하면서 프로세스와 자원을 격리해요.

환경 차이를 줄일 수 있지만 모든 OS와 CPU에서 같은 이미지가 동작하는 것은 아니에요. 저장 데이터는 별도 볼륨 등에 두고 네트워크·권한도 설정해야 해요.

왜 생겼나요

개발 환경에서는 되는데 배포 환경에서는 안 되는 문제를 줄이고, 앱 실행 단위를 일관되게 전달하려고 활용해요.

어떻게 작동하나요

  1. 1. 이미지 준비 앱과 필요한 의존성을 이미지로 만들어요.
  2. 2. 격리 실행 런타임이 프로세스와 자원을 구분해 실행해요.
  3. 3. 외부 자원 연결 네트워크, 설정과 영속 저장소를 연결해 운영해요.

활용 예시

  • 같은 앱의 개발·시험 환경 구성
  • 서비스별 실행 단위 분리
  • 반복 작업의 실행 환경 고정

흔한 오해

컨테이너는 작은 가상 머신인가요?

일반적인 컨테이너는 호스트 커널을 공유하고, 가상 머신은 자체 운영체제 커널을 실행해요. 격리 방식과 보장 범위가 같지는 않아요.

이렇게 쓰여요

앱 배포 준비

“이미지는 같은 버전으로 쓰고, 설정과 저장 데이터는 컨테이너 밖에서 관리하자”라고 이야기해요.

관련 용어

함께 보면 좋은 용어

최종 업데이트