안녕하세요. 도커를 처음 접하게 되었습니다.
좌측 메뉴에 보면 Containers, Images, Volumes 가 있는데 개념에 대해서 헷갈려
정리하고자 합니다.
🐳 Docker 기본 개념
Docker는 애플리케이션을 빠르고 안정적으로 배포하기 위한 컨테이너 기술입니다.
이 문서에서는 컨테이너(Container), 이미지(Image), 볼륨(Volume) 개념을 쉽게 이해할 수 있도록 정리했습니다.
1. 컨테이너(Container)란?
컨테이너는 애플리케이션이 실행되는 독립된 환경입니다.
운영체제 위에서 실행되지만, 마치 별도의 작은 컴퓨터처럼 동작합니다.
특징
- 격리성(Isolation) : 다른 컨테이너와 독립적으로 실행
- 경량성(Lightweight) : 가상머신보다 빠르고 리소스 절약
- 일관성(Consistency) : 어디서 실행해도 동일한 결과
예시
docker run -d --name mynginx nginx위 명령을 실행하면 nginx 웹서버 컨테이너가 생성되고, Containers 탭에서 실행 상태를 확인할 수 있습니다.
2. 이미지(Image)란?
이미지는 컨테이너를 만들기 위한 설계도입니다.
애플리케이션, 라이브러리, 설정 파일이 모두 포함된 읽기 전용 템플릿입니다.
특징
- 불변성(Immutable) : 한 번 만든 이미지는 변경 불가 (새로 빌드해야 함)
- 버전 관리(Tag) :
nginx:1.25,python:3.12처럼 버전 구분 가능 - 이식성(Portable) : 다른 OS, 서버에서도 동일 실행 가능
예시
docker pull nginxDocker Hub에서 nginx 이미지를 다운로드하고, Images 탭에서 확인할 수 있습니다.
3. 볼륨(Volume)란?
볼륨은 컨테이너와 호스트 PC 사이에서 데이터를 영구 저장하는 공간입니다.
컨테이너가 삭제되더라도 데이터는 유지됩니다.
특징
- 영속성(Persistence) : 컨테이너 삭제 후에도 데이터 보존
- 공유성(Sharing) : 여러 컨테이너가 같은 볼륨을 공유 가능
- 백업 용이성 : 호스트에서 직접 접근 가능
예시
docker volume create mydata
docker run -v mydata:/app/data nginxmydata라는 볼륨이 생성되어 /app/data에 연결됩니다.
4. 컨테이너, 이미지, 볼륨 관계
- 이미지 : 설계도 (Blueprint)
- 컨테이너 : 설계도를 실행한 실제 앱 (Instance)
- 볼륨 : 앱의 데이터를 보관하는 저장소 (Storage)
| 개념 | 역할 | 예시 |
|---|---|---|
| 이미지(Image) | 앱 실행을 위한 설계도 | nginx:latest |
| 컨테이너(Container) | 이미지를 실행한 인스턴스 | mynginx |
| 볼륨(Volume) | 데이터 저장소 | mydata |
5. 요약
- 이미지: 앱의 설계도
- 컨테이너: 앱이 실제로 실행되는 환경
- 볼륨: 데이터 영구 저장소
이 세 가지를 이해하면 Docker의 핵심 동작 원리를 파악할 수 있습니다.
💡 Tip: 실제로 사용하면서 익히는 것이 가장 빠른 학습 방법입니다.
예를 들어, 이미지를pull→ 컨테이너로run→ 데이터를volume에 저장하는 실습을 추천합니다.
이상 정리를 마치겠습니다. 실습을하게 되면 다시 기록해 두겠습니다.
'개발 > 개발도구' 카테고리의 다른 글
| [vscode 플러그인 설치] chatGPT API키를 cline을 활용해서 사용해봤다. (5) | 2025.07.08 |
|---|---|
| [VS Code 파일 드래그 오류] VS Code에서 드래그 시 열리지 않는 문제 해결법 (0) | 2025.07.02 |
| 이클립스 북마크 백업 및 적용하기(eclipse bookmark backup) (0) | 2022.10.26 |
| 이클립스 svn 주소 변경하기 (eclipse svn adress change) (0) | 2019.05.07 |
| 이클립스 validating 시간 너무 길다 (6) | 2019.03.04 |
| 이클립스 괄호 색 변경하기 (0) | 2019.01.08 |
| erwin 논리(영문) 물리(한글) 컬럼명 설정(csv 파일) (5) | 2017.10.23 |