JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

Docker란 ? / 컨테이너(Container)란? / 이미지(Image)란?

JSCODE 박재성
JSCODE 박재성
2025-12-01
author
JSCODE 박재성
category
Docker
createdAt
Dec 1, 2025
series
비전공자도 이해할 수 있는 Docker 입문
slug
what-is-docker
type
post
updatedAt
Dec 1, 2025 12:07 PM

✅ Docker란 ?

컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다.
👨🏻‍🏫
Docker의 정의를 보더라도 한 번에 와닿지 않을 것이다. 당연하다. Docker가 어떤 툴인지는 직접 사용해보고 경험해봐야 느낄 수 있다. 직접 사용해보고 경험해보는 게 Docker가 어떤 툴인지 제일 빠르게 파악하는 방법이다.
 
 

✅ 컨테이너(Container)란?

👨🏻‍🏫
Docker에서 컨테이너(Container)라는 개념은 아주 중요한 개념이다. 머릿속에 컨테이너(Container)가 어떤 개념인 지 대략적으로 떠올릴 수 있어야 한다. 그래야 Docker를 쉽게 배울 수 있다.
윈도우 환경을 사용해보면 하나의 컴퓨터에 여러 사용자로 나눠서 사용할 수 있게끔 구성되어 있다. 각 사용자의 환경에 들어가보면 독립적으로 구성되어 있어서 필요한 프로그램을 각 사용자 환경에 따로따로 설치해주어야 한다.
notion image
 
컨테이너도 이와 비슷한 개념이다. 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념이다. 하나의 컴퓨터 환경 내에서 여러개의 미니 컴퓨터 환경을 구성할 수 있는 형태이다. 여기서 얘기하는 미니 컴퓨터를 보고 Docker에서는 컨테이너(Container)라고 부른다.
(컨테이너(Container)를 이해할 때 머릿속의 이미지로 미니 컴퓨터를 떠올리면 이해하기 편하다.)
 
notion image
여기서 ‘컨테이너’와 ‘컨테이너를 포함하고 있는 컴퓨터’를 구분하기 위해 컨테이너를 포함하고 있는 컴퓨터를 ‘호스트(host) 컴퓨터’라고 부른다.
 
 

✅ 컨테이너(Container)의 독립성

위의 설명에서 컨테이너는 ‘독립적인 컴퓨터 환경’이라고 얘기했다. 구체적으로 어떤 것들이 독립적으로 관리되는 지 기억해두자.
  • 디스크 (저장 공간) : 각 컨테이너마다 서로 각자의 저장 공간을 가지고 있다. 일반적으로 A 컨테이너 내부에서 B 컨테이너 내부에 있는 파일에 접근할 수 없다.
  • 네트워크 (IP, Port) : 각 컨테이너마다 고유의 네트워크를 가지고 있다. 컨테이너는 각자의 IP 주소를 가지고 있다.
 
 

✅ 이미지(Image)란?

notion image
닌텐도와 같은 게임기를 보면 여러가지 칩을 꽂아서 다양한 게임을 즐길 수 있게 되어 있다. Docker에서는 닌텐도의 칩과 같은 역할을 하는 개념이 이미지(Image)이다.
 
Node.js 기반의 Express.js 서버 프로젝트를 이미지로 만들었다고 가정해보자. 이 이미지를 Docker로 실행시키면 Express.js 서버 프로젝트가 컨테이너(Container) 환경에서 실행된다. 복잡한 설치 과정을 거칠 필요 없이 손쉽게 실행된다.
 
또 다른 예로, MySQL 서버를 이미지로 만들었다면, 이 이미지를 Docker로 실행시키는 순간 MySQL 서버가 컨테이너(Container) 환경에서 실행된다. MySQL을 일일이 설치할 필요없이 MySQL 데이터베이스를 사용할 수 있게 된다.
 
이미지(Image)는 프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보 등을 포함하고 있다. 즉, 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.
 
author
category
Docker
createdAt
series
비전공자도 이해할 수 있는 Docker 입문
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) 강의의 수업 자료 중 일부입니다.