컴퓨터 활용/노년에 즐기는 코딩

도커 이미지(Docker Image)

easyfly 2025. 8. 25. 07:26
반응형

도커 이미지(Docker Image)란?

도커 이미지(Docker Image)는 컨테이너를 실행하기 위한 설계도(템플릿)라고 이해하시면 됩니다. 즉, 컨테이너라는 집(실행 환경)을 짓기 위한 건축 도면 같은 역할을 합니다.

리눅스에 생성도 도커 이미지


1. 도커 이미지의 정의

  • 불변(Immutable)한 패키지입니다.
  • 애플리케이션을 실행하는 데 필요한 코드, 라이브러리, 설정 파일, 종속성 등을 하나의 파일 묶음으로 담고 있습니다.
  • 이미지 자체는 실행되지 않고, 이미지를 기반으로 실행되는 것이 도커 컨테이너(Container)입니다.

2. 이미지와 컨테이너의 관계

  • 이미지 = 설계도
  • 컨테이너 = 실제 집

예를 들어:

  • Python 웹 서버를 실행하려면 Python 인터프리터, Flask 같은 웹 프레임워크, 필요한 라이브러리 등이 있어야 합니다.
  • 이 모든 것을 미리 포함한 이미지를 만들고, 그 이미지를 실행하면 컨테이너가 생성됩니다.
  • 같은 이미지를 가지고 여러 개의 컨테이너를 동시에 띄울 수도 있습니다.

3. 도커 이미지의 특징

  1. 레이어 구조
    • 이미지들은 여러 개의 층(Layer)으로 쌓여 있습니다.
    • 예: Ubuntu 베이스 이미지 위에 Python 설치, 그 위에 Flask 설치, 그 위에 내 소스코드 추가.
    • 덕분에 변경된 부분만 다시 빌드하여 효율적으로 관리할 수 있습니다.
  2. 재사용성
    • 한 번 만든 이미지는 여러 환경(로컬, 서버, 클라우드)에서 동일하게 실행할 수 있습니다.
    • "내 컴퓨터에서는 되는데, 서버에서는 안 돼요" 문제를 줄여줍니다.
  3. 공유 가능
    • 도커 허브(Docker Hub) 같은 저장소에 이미지를 업로드하면, 누구나 내려받아 사용할 수 있습니다.
    • 예: docker pull python:3.12-slim

4. 도커 이미지 사용 예시

  • 웹 서버 실행용 이미지: nginx, httpd
  • 데이터베이스 이미지: mysql, postgres
  • 개발 언어 환경 이미지: python, node, golang

예를 들어 Python 공식 이미지를 내려받아 실행하면 곧바로 Python 환경을 사용할 수 있습니다.

docker pull python:3.12
docker run -it python:3.12

5. 정리

  • 도커 이미지는 실행 환경을 미리 패키징 해둔 파일 묶음입니다.
  • 이미지를 실행하면 컨테이너가 만들어집니다.
  • "이미지 = 설계도 / 컨테이너 = 집"이라고 기억하시면 가장 이해하기 쉽습니다.

 

반응형