Docker ImagesContainersVolumes 이해하기Docker ImagesDocker Containers

Docker Images, Containers, Volumes 이해하기

KUKJIN LEE
KUKJIN LEE
2024년 5월 16일
200

Docker를 처음 사용하는 경우, Containers, Images, Volumes와 같은 개념을 이해하는 것이 매우 중요합니다. 이 세 가지 구성 요소는 Docker의 기본 요소이며 각각의 역할이 매우 구체적입니다.

 

1. Docker Images (도커 이미지)

Docker 이미지는 컨테이너를 생성하는 데 사용되는 템플릿입니다. 이미지는 소프트웨어를 실행하는 데 필요한 모든 종속성과 라이브러리를 포함합니다. 이미지는 읽기 전용이며 변경할 수 없습니다. 예를 들어, Oracle 데이터베이스를 실행하려면 Oracle 이미지를 사용하여 컨테이너를 시작합니다. 

 

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

컨테이너는 이미지를 기반으로 실행되는 격리된 환경입니다. 실질적으로 컨테이너는 프로세스의 실행을 포함하는 실행 중인 이미지의 인스턴스입니다. 컨테이너는 임시적이며, 멈추거나 삭제할 수 있고, 필요에 따라 새로 생성할 수 있습니다. 이미지를 통해 컨테이너를 시작하면, 초기 상태는 이미지에 의해 정의되지만 실행 중에 컨테이너 내부에서 변경할 수 있는 파일 시스템이 생성됩니다. 컨테이너는 독립적으로 실행되므로, 다른 컨테이너나 호스트 시스템에 영향을 주지 않습니다.

 

3. Docker Volumes (도커 볼륨)

볼륨은 데이터를 저장하고 컨테이너 사이, 또는 컨테이너와 호스트 시스템 사이에서 데이터를 공유할 수 있는 방법을 제공합니다. 컨테이너는 일반적으로 임시적이며, 컨테이너를 삭제하면 그 안의 모든 데이터도 사라집니다. 그러나 볼륨을 사용하면 데이터를 영구적으로 저장할 수 있습니다. 볼륨은 컨테이너 외부에 데이터를 저장하므로 컨테이너가 삭제되어도 데이터는 유지됩니다. 이를 통해 데이터베이스 파일, 설정 파일, 로그 파일 등 중요한 데이터를 안전하게 보관할 수 있습니다.

관련 글

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다. 예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다...

2026년 1월 27일10

SQL에서 SELECT란 무엇인가?

데이터베이스를 거대한 서류 보관함이라고 생각하면 됩니다. 보관함 안에는 수많은 데이터가 차곡차곡 쌓입니다. SELECT는 이 보관함에서 "내가 원하는 정보를 찾아줘!"라고 요청하는 명령어입니다. 이 과정을 전문 용어로 '쿼리(Query)'라고 부릅니다. &nbs...

2026년 1월 26일10

[SQL 기초] "언제 하나씩 다 넣어?" 데이터 한 번에 넣기

개발을 하다 보면 데이터베이스(DB)에 샘플 데이터를 대량으로 넣어야 할 때가 있습니다. 메뉴 100개를 추가해야 하는데 INSERT 문을 100번 쓰고 있다면? 너무 비효율적이죠! 오늘은 SQL에서 여러 데이터를 한 번에 넣는 '다중 삽입(Multiple Inse...

2026년 1월 21일13

SQL 데이터 삽입하기

데이터가 없는 데이터베이스는 연료 없는 로켓과 같습니다. 이제 'Missions' 테이블에 새로운 행(row)을 추가하는 방법을 알아보겠습니다. "삽입(Inserting)"은 '데이터 추가'를 의미합니다. 기존 Missions 테이블 ...

2026년 1월 20일12