본문으로 건너뛰기
Previous
Next
Docker 뜻과 의미 | 기술 용어 사전 | pkglog
DevOps

Docker

다른 이름: 도커

정의

컨테이너 기반 가상화 플랫폼. 애플리케이션과 의존성을 이미지로 패키징, 격리된 컨테이너에서 실행. VM 대비 경량(공유 커널), 빠른 시작(초 단위). Dockerfile로 빌드, Docker Hub에서 공유. K8s, CI/CD 필수 도구

상세 설명

📋 기술 스펙

  • 컨테이너: 프로세스 격리 (namespace, cgroup)
  • 이미지: 레이어 구조 (UnionFS, AUFS/OverlayFS)
  • Dockerfile: FROM, RUN, COPY, CMD, ENTRYPOINT
  • Docker Compose: 다중 컨테이너 오케스트레이션 (YAML)
  • 볼륨: 데이터 영속화 (-v, --mount)
  • 네트워크: bridge, host, overlay, macvlan
  • Docker Hub: 공식 이미지 저장소 (nginx, redis, postgres)

💡 실무 활용

  • 마이크로서비스: 서비스별 독립 컨테이너
  • CI/CD: 동일 환경 빌드/테스트/배포
  • 개발 환경: "내 컴퓨터에서는 되는데" 문제 해결
  • 클라우드: AWS ECS, GCP Cloud Run, Azure Container Instances

장점

  • 경량: VM 대비 10배 빠른 시작, 적은 메모리
  • 이식성: 한 번 빌드하면 어디서나 실행
  • 격리: 의존성 충돌 없음, 보안 강화
  • 버전 관리: 이미지 태그로 롤백 가능

⚠️ 단점 및 제약

  • Linux 커널 공유: Windows/macOS는 VM 필요
  • 영속성: 컨테이너 삭제 시 데이터 소실 (볼륨 필수)
  • 보안: 루트 권한 컨테이너 위험
  • 오버헤드: 네트워크 성능 약간 저하

🔧 호환성

Linux, Windows, macOS. 모든 클라우드 (AWS, GCP, Azure)

📚 표준 정보

표준화 기구: Docker Inc., OCI (Open Container Initiative)

출시 연도: 2013년