본문 바로가기
카테고리 없음

Docker 이미지는 무엇일까

by by_merry 2026. 4. 25.

Docker를 공부하다 보면 “컨테이너” 다음으로 꼭 등장하는 개념이 바로 “이미지(Image)”다.

처음에는 이름 때문에 헷갈릴 수 있다. 사진 같은 이미지인가 싶지만, 전혀 다른 의미다.

결론부터 말하면, Docker 이미지는 “컨테이너를 만들기 위한 설계도”다.

즉, 컨테이너는 실행된 상태이고, 이미지는 그걸 만들기 위한 원본이다.

이미지와 컨테이너의 차이

이 둘은 항상 같이 나온다. 그래서 헷갈리기 쉽다.

  • 이미지 = 실행하기 전 (설계도)
  • 컨테이너 = 실행된 상태 (실제 동작)

예를 들어 설명해보면:

  • 이미지 = 라면 조리법
  • 컨테이너 = 실제 끓인 라면

조리법(이미지)이 있어야 라면(컨테이너)을 만들 수 있다.

그래서 Docker에서는 항상:

이미지 → 컨테이너

이 흐름으로 움직인다.

이미지에는 무엇이 들어 있을까

Docker 이미지는 단순한 파일 하나가 아니다.

이미지 안에는:

  • 프로그램 코드
  • 필요한 라이브러리
  • 설정 파일
  • 실행 방법

이 모두가 들어 있다.

그래서 이미지만 있으면, 어디서든 똑같은 환경으로 프로그램을 실행할 수 있다.

예를 들어 Nginx 이미지를 사용하면:

  • 설치 과정 없이
  • 환경 설정 없이
  • 바로 웹서버 실행

이 가능하다.

왜 이미지를 사용할까

이미지를 사용하는 이유는 크게 3가지다.

1. 설치 과정이 필요 없다

원래 서버를 세팅하려면:

  • 프로그램 설치
  • 환경 설정
  • 버전 맞추기

이 과정을 반복해야 한다.

하지만 Docker 이미지는 이미 준비된 상태다.

그래서:

docker run nginx

이 한 줄로 바로 실행된다.

2. 어디서 실행해도 동일하다

개발할 때 자주 나오는 문제:

“내 컴퓨터에서는 되는데 서버에서는 안 됨”

이건 환경이 다르기 때문이다.

하지만 이미지를 사용하면:

  • 개발 환경
  • 테스트 서버
  • 운영 서버

모두 같은 환경으로 실행된다.

그래서 오류가 크게 줄어든다.

3. 복사와 배포가 쉽다

이미지는 복사해서 어디든 보낼 수 있다.

그래서:

  • 서버 1 → 서버 2
  • 로컬 → 클라우드

같이 쉽게 옮길 수 있다.

그래서 대규모 서비스에서 매우 중요하다.

이미지는 어디서 가져올까

Docker 이미지는 보통 인터넷에서 가져온다.

대표적인 곳이 바로 Docker Hub다.

여기에는:

  • Nginx
  • MySQL
  • Node.js
  • Redis

같은 유명한 프로그램 이미지가 이미 준비되어 있다.

그래서 직접 만들지 않아도 바로 사용할 수 있다.

필요하면 내가 직접 이미지를 만들 수도 있다.

이미지는 어떻게 만들어질까

이미지는 보통 Dockerfile이라는 파일로 만든다.

Dockerfile은 “이 컨테이너를 어떻게 만들지”를 적어놓은 파일이다.

예를 들어:

  • 어떤 OS를 사용할지
  • 어떤 프로그램을 설치할지
  • 어떻게 실행할지

를 적는다.

그리고 이걸 실행하면 이미지가 만들어진다.

즉:

  • Dockerfile → 이미지 → 컨테이너

이 흐름이 된다.

이미지는 왜 “읽기 전용”일까

Docker 이미지는 기본적으로 수정할 수 없다.

즉, 읽기 전용이다.

그래서 이미지를 그대로 두고, 컨테이너를 여러 개 만들어 사용할 수 있다.

예를 들어:

  • 같은 이미지로 컨테이너 10개 생성

이 가능하다.

그래서 서버 확장이 매우 쉬워진다.

한 줄로 정리하면

Docker 이미지는 컨테이너를 만들기 위한 설계도다. 프로그램과 환경이 모두 포함되어 있어서, 어디서든 동일하게 실행할 수 있게 해준다.