49 lines
3.7 KiB
Markdown
49 lines
3.7 KiB
Markdown
---
|
|
id: P-REINFORCE-WIKI-DEV-DOCKER
|
|
title: "컨테이너 기술과 도커 생태계 (Containerization & Docker)"
|
|
category: "10_Wiki/💻 Topics_Dev"
|
|
status: verified
|
|
canonical_id: ""
|
|
aliases: ["Docker", "도커", "컨테이너", "Containerization", "Dockerfile", "이미지"]
|
|
duplicate_of: ""
|
|
source_trust_level: A
|
|
confidence_score: 1.0
|
|
tags: ["Infrastructure", "Docker", "Containerization", "DevOps", "Virtualization"]
|
|
raw_sources: ["Datacollector_Export_2026-05-02"]
|
|
last_reinforced: 2026-05-02
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[컨테이너 기술과 도커 생태계 (Containerization & Docker)]]
|
|
|
|
## 1. 개요
|
|
컨테이너화(Containerization)는 애플리케이션과 그 실행에 필요한 모든 의존성(라이브러리, 설정 파일 등)을 하나의 표준화된 패키지로 묶는 기술이다. 도커(Docker)는 이 컨테이너 기술을 대중화시킨 핵심 도구로, 개발 환경과 운영 환경의 격차를 해소하고 "내 컴퓨터에서는 잘 되는데?"라는 고질적인 문제를 해결한다.
|
|
|
|
## 2. 핵심 구성 요소
|
|
- **도커 이미지 (Image)**: 컨테이너 실행에 필요한 파일 시스템과 설정이 담긴 불변(Immutable)의 템플릿. 애플리케이션의 스냅샷 역할을 수행.
|
|
- **도커 컨테이너 (Container)**: 이미지를 실행한 상태. 격리된 프로세스 환경에서 애플리케이션이 구동되는 실체.
|
|
- **Dockerfile**: 이미지를 빌드하기 위한 명령어를 나열한 텍스트 파일. 인프라를 코드로 관리(IaC)하는 기초 단계.
|
|
- **도커 레지스트리 (Registry)**: 이미지를 저장하고 공유하는 공간 (예: Docker Hub, ECR).
|
|
- **도커 컴포즈 (Docker Compose)**: 여러 개의 컨테이너로 구성된 복합 서비스를 정의하고 일괄 실행하기 위한 도구.
|
|
|
|
## 3. 엔지니어링 가치
|
|
- **환경 일관성 (Consistency)**: 개발, 테스트, 운영 환경을 완전히 동일하게 유지하여 배포 리스크와 환경 설정 오류 획기적 감소.
|
|
- **가벼운 격리 (Lightweight Isolation)**: 가상 머신(VM)과 달리 호스트 OS 커널을 공유하므로 시작 속도가 빠르고 리소스 소모가 적음.
|
|
- **모듈화 및 확장성**: 서비스를 작은 기능 단위(Microservices)로 쪼개어 컨테이너화함으로써 독립적인 확장과 업데이트가 가능.
|
|
- **지속적 통합 및 배포 (CI/CD)**: 이미지를 빌드하고 검증하는 과정이 표준화되어 자동화 파이프라인 구축이 용이.
|
|
|
|
## 4. 트레이드오프 및 주의사항
|
|
- **보안 가시성**: 베이스 이미지에 포함된 패키지의 취약점이나 악성 코드가 컨테이너 전체로 퍼질 수 있으므로 이미지 스캔 및 최소 권한 원칙 준수 필수.
|
|
- **데이터 영속성 (Persistence)**: 컨테이너는 삭제되면 내부 데이터도 사라지는 '휘발성'을 가짐. 중요한 데이터는 볼륨(Volume) 설정을 통해 외부 저장소와 연결해야 함.
|
|
- **복잡한 네트워크 및 스토리지 설정**: 수많은 컨테이너가 서로 통신하고 데이터를 공유하는 환경에서는 정교한 네트워크 설계와 오케스트레이션 도구(Kubernetes) 요구.
|
|
|
|
## 5. 지식 연결 (Related)
|
|
- [[Kubernetes_Orchestration]]: 대규모 컨테이너 군집을 관리하기 위한 상위 시스템.
|
|
- [[DevSecOps]]: 도커 이미지 빌드 단계부터 보안 검사를 수행하는 문화.
|
|
- [[Microservices_Architecture]]: 컨테이너가 가장 활발하게 사용되는 아키텍처 패턴.
|
|
|
|
## 🧪 검증 상태 (Validation)
|
|
- **정보 상태**: 검증 완료 (Verified)
|
|
- **출처 신뢰도**: A
|
|
- **검토 이유**: 애플리케이션 배포와 운영의 표준을 제시하고, 클라우드 네이티브 환경으로의 전환을 가능하게 하는 핵심 기반 기술인 도커와 컨테이너 아키텍처 정의.
|