본문 바로가기
IT 용어 정리

도커 이미지와 도커 컨테이너

by 별프로 2025. 1. 7.
반응형

도커 이미지란?

도커 이미지는 컨테이너를 실행하기 위한 모든 파일과 설정값을 포함한 불변(Immutable) 패키지입니다. 이미지는 상태가 변경되지 않으며, 동일한 이미지를 기반으로 다양한 환경에서 일관된 동작을 보장합니다.

주요 이미지 예시

  • Ubuntu 이미지: Ubuntu 실행에 필요한 모든 파일과 실행 명령어, 포트 정보 포함.
  • MySQL 이미지: Debian 기반으로 MySQL 실행에 필요한 파일과 설정 포함.
  • GitLab 이미지: CentOS 기반으로 Ruby, Go, Redis, GitLab 소스, Nginx 등을 포함.

도커 이미지의 주요 특징

  1. 불변성: 이미지는 생성된 이후 변하지 않습니다.
  2. 다양한 컨테이너 생성 가능: 동일한 이미지에서 여러 개의 컨테이너를 생성할 수 있습니다.
  3. 자급자족형 패키지: 이미지는 컨테이너 실행에 필요한 모든 정보를 포함하고 있어 추가적인 의존성 파일을 설치할 필요가 없습니다.

도커 컨테이너란?

도커 컨테이너는 이미지를 실행한 상태를 말합니다. 컨테이너는 애플리케이션과 종속성을 운영체제의 나머지와 일정 수준 격리하여 실행할 수 있는 환경을 제공합니다.

도커 컨테이너의 주요 특징

  1. 독립 실행 환경: 컨테이너는 다른 컨테이너와 완전히 독립된 환경에서 실행됩니다.
  2. 경량성: 컨테이너는 운영체제 커널을 공유하여 가볍고, 메모리 사용량이 적으며 빠르게 실행됩니다.
  3. 유연성: 여러 컨테이너를 동일한 이미지에서 생성하고 각기 독립적으로 운영할 수 있습니다.

도커 이미지와 컨테이너의 관계

  • 이미지 = 청사진: 컨테이너 실행의 기본 재료로 모든 설정과 파일이 포함된 불변의 형태입니다.
  • 컨테이너 = 실행 상태: 이미지를 기반으로 생성된 독립적인 실행 환경입니다.
  • 컨테이너는 동적, 이미지는 불변: 컨테이너는 실행 중 변경될 수 있지만, 이미지는 항상 원래 상태를 유지합니다.

도커 이미지의 저장 및 관리

1. Docker Hub 활용

도커 이미지는 Docker Hub에 등록하여 관리할 수 있습니다. Docker Hub는 도커 이미지의 중앙 저장소로 다음과 같은 이점을 제공합니다:

  • 이미지를 손쉽게 업로드하고 공유 가능.
  • 오픈소스 및 상용 이미지를 포함한 다양한 이미지 검색 가능.
  • 팀 단위 협업을 위한 이미지 관리 기능 제공.

2. Docker Registry 활용

Docker Registry를 직접 구축하여 이미지를 관리할 수도 있습니다. 이는 다음과 같은 경우에 유용합니다:

  • 사내 보안 정책상 외부 저장소 사용이 제한된 경우.
  • 전용 서버에서 이미지를 관리해야 하는 경우.

도커 컨테이너의 고유 기능

1. 분리와 조절 기능

도커 컨테이너는 애플리케이션과 시스템 자원을 서로 분리하여 충돌 위험을 최소화합니다.

  • 애플리케이션 간 분리: 각 컨테이너는 고립된 환경에서 실행됩니다.
  • 자원 조절: 컨테이너는 CPU와 메모리 사용량을 조정할 수 있어 효율적입니다.

2. 이식성 제공

컨테이너는 다양한 환경에서 일관된 동작을 보장합니다.

  • 런타임 환경의 독립성: 컨테이너는 하드웨어나 운영체제와 상관없이 실행됩니다.
  • 호스트 종속성 제거: 모든 애플리케이션과 종속성을 포함하므로 호스트 운영체제에 의존하지 않습니다.

3. 결합성(Composability)

컨테이너는 모듈화된 아키텍처를 통해 애플리케이션을 쉽게 조합하고 관리할 수 있습니다.

  • 다중 요소 구성: 웹 서버, 데이터베이스, 캐시 등 각 요소를 독립 컨테이너로 실행.
  • 유지 및 업데이트 용이성: 컨테이너별로 독립적인 업데이트와 관리 가능.

도커 활용 사례

1. 마이크로서비스 아키텍처

도커는 마이크로서비스를 위한 최적의 도구입니다. 애플리케이션의 각 서비스는 개별 컨테이너에서 실행되며 독립적으로 배포되고 관리됩니다.

2. 테스트 환경 구축

컨테이너는 동일한 환경을 로컬 개발, 테스트, 운영 환경에 재현할 수 있어 일관된 테스트 환경을 제공합니다.

3. 확장 가능한 배포

도커는 필요한 만큼 컨테이너를 추가하여 서버를 확장할 수 있어 대규모 트래픽에도 유연하게 대응 가능합니다.

반응형

댓글