본문 바로가기
컴퓨터과학과

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

by 공부하는노년 2025. 3. 18.
반응형

도커 컨테이너와 이미지 개념 정리

1. 도커 이미지(Docker Image)

  • 도커 컨테이너를 실행하기 위한 설정값과 실행 파일이 포함된 템플릿입니다.
  • 리눅스의 ISO 파일처럼, 변경 불가능한(Immutable) 형태로 존재합니다.
  • 애플리케이션 코드, 라이브러리, 환경 설정 등이 포함되어 있어, 어디서나 동일한 환경에서 실행될 수 있습니다.
  • Docker Hub, 프라이빗 레지스트리 등을 통해 공유하고 배포할 수 있습니다.
  • 하나의 이미지에서 여러 개의 컨테이너를 실행할 수 있습니다.

2. 도커 컨테이너(Docker Container)

  • 도커 이미지를 기반으로 실행된 독립적인 실행 환경입니다.
  • 가상머신(VM)과 달리 운영체제 전체를 포함하지 않고, 호스트 OS의 커널을 공유하여 가볍고 빠릅니다.
  • 각 컨테이너는 자신만의 파일 시스템, 네트워크, 프로세스를 가짐으로써 격리된 환경에서 실행됩니다.
  • 필요에 따라 시작/중지/삭제할 수 있으며, 필요하면 여러 개의 컨테이너를 동시에 실행할 수 있습니다.

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

항목 도커 이미지 도커 컨테이너

개념컨테이너 실행을 위한 설정값과 실행 파일이 포함된 정적인 템플릿이미지에서 실행되는 동적인 실행 환경
상태변경 불가능 (Immutable)실행 중에는 변경 가능
용도컨테이너를 생성하기 위한 템플릿독립적으로 실행되는 환경
저장소Docker Hub, 로컬 저장소, 프라이빗 레지스트리 등에 저장됨컨테이너가 실행되는 동안만 존재 (종료하면 사라질 수 있음)
실행 방식직접 실행할 수 없음 (docker run 명령어를 통해 컨테이너로 실행)실행 중인 애플리케이션 프로세스

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

1. 도커 이미지 다루기

# 기존 이미지 목록 확인
docker images

# 새로운 이미지 다운로드 (예: Ubuntu 최신 버전)
docker pull ubuntu:latest

# 이미지 삭제
docker rmi ubuntu:latest

2. 도커 컨테이너 다루기

# 이미지에서 컨테이너 실행 (예: Ubuntu)
docker run -it ubuntu:latest /bin/bash

# 실행 중인 컨테이너 목록 확인
docker ps

# 중지된 컨테이너 포함하여 모든 컨테이너 확인
docker ps -a

# 컨테이너 중지
docker stop <컨테이너_ID>

# 컨테이너 삭제
docker rm <컨테이너_ID>

도커 이미지와 컨테이너 관계 이해하기

  1. 도커 이미지는 컨테이너의 "설계도" 역할을 합니다.
  2. 컨테이너는 이미지를 기반으로 실행되며, 실행 중에는 데이터를 저장하고 프로그램을 수행할 수 있습니다.
  3. 컨테이너를 삭제하면 변경된 데이터는 사라지지만, 볼륨을 활용하면 데이터를 보존할 수 있습니다.
  4. 동일한 이미지에서 여러 개의 컨테이너를 실행할 수 있어 애플리케이션 배포 및 확장성이 뛰어납니다.

이해를 돕기 위해 비유하면,

  • 이미지는 CD/DVD에 들어 있는 OS 설치 파일
  • 컨테이너는 설치된 운영체제 환경

이라고 볼 수 있습니다.
 
도커를 사용하면 같은 이미지로 여러 개의 컨테이너를 생성하여 동일한 환경에서 여러 애플리케이션을 실행할 수 있습니다.

댓글