inblog logo
|
harimmon
    심화 과정

    [심화] 14. Docker

    백하림's avatar
    백하림
    Jul 29, 2025
    [심화] 14. Docker
    Contents
    🐳 Docker 정리 (개념 + 실행 구조)✅ Docker란?✅ 도커 실행 구조✅ 핵심 구성 요소✅ 컨테이너의 특징✅ 도커로 배포하는 전체 흐름 (윈도우 → 리눅스)✅ 도커 vs VM

    🐳 Docker 정리 (개념 + 실행 구조)


    🔥

    ✅ Docker란?

    • 컨테이너 기반 가상화 도구
    • 애플리케이션과 그 실행환경을 하나의 이미지로 패키징해서
      • OS에 종속되지 않고 어디서나 동일하게 실행할 수 있게 해줌
    • VM과 달리 커널은 공유하고, 실행 환경만 격리함 → 가볍고 빠름

    ✅ 도커 실행 구조

    [APP + 런타임 + 종속 라이브러리] ← 컨테이너 (Container) ↓ [도커 엔진 / Docker Daemon] ↓ [호스트 OS의 커널] ↓ [하드웨어]
    컨테이너는 가상 머신과 달리 호스트 OS 커널을 공유함
    → 즉, 커널은 하나고 그 위에 여러 컨테이너가 격리된 환경에서 실행됨

    ✅ 핵심 구성 요소

    구성 요소
    설명
    이미지 (Image)
    컨테이너 생성의 기반. 코드, 종속성, 설정 포함. 불변
    컨테이너 (Container)
    이미지를 실행한 상태. 격리된 공간에서 동작
    Dockerfile
    이미지를 만들기 위한 레시피. Layer 기반 빌드
    Docker Daemon
    컨테이너/이미지 실행 관리하는 백그라운드 프로세스
    Docker CLI
    개발자가 쓰는 명령어 도구 (ex. docker run)
    레지스트리
    이미지 저장소 (공식: Docker Hub, 사설도 가능)

    ✅ 컨테이너의 특징

    🔥
    • 호스트 커널 공유 (리눅스 커널 기반)
    • 경량화된 가상화 (OS 전체를 포함하지 않음)
    • 격리성 보장 (네트워크, 프로세스, 파일시스템은 독립)
    • 빠른 실행 속도 (VM보다 수 초 ~ 수 십 배 빠름)
    • 이식성 보장 (어느 환경이든 똑같이 실행됨)

    ✅ 도커로 배포하는 전체 흐름 (윈도우 → 리눅스)

    🔥
    1. 윈도우에서 개발 (SpringBoot, Node.js, Python, 등)
    1. Dockerfile 작성
    1. docker build -t myapp:1.0 . → 이미지 생성
    1. docker push myapp:1.0 → Docker Hub 업로드
    1. 리눅스 서버에서 docker pull myapp:1.0
    1. docker run -d -p 8080:80 myapp:1.0 → 실행
    또는 이미지 .tar로 빌드해서 리눅스로 직접 옮길 수도 있음

    ✅ 도커 vs VM

    항목
    Docker
    VM
    부팅 속도
    수 초
    수 분
    무게
    경량
    무거움 (전체 OS 포함)
    커널
    공유
    개별 OS 커널 사용
    이식성
    높음
    낮음
    사용 목적
    마이크로서비스, 빠른 배포
    격리된 전체 OS 환경 필요 시
    notion image

    1. 이미지 다운로드

    docker pull ubuntu

    2. 컨테이너 실행 + bash 진입

    docker run -it ubuntu bash
    notion image

    1. 컨테이너 실행

    docker run -it --rm tomcat:9.0

    2. 실행 중인 컨테이너 확인

    docker ps

    3. . 컨테이너 내부에 bash로 접속

    docker exec -it 컨테이너ID bash
    Share article
    Contents
    🐳 Docker 정리 (개념 + 실행 구조)✅ Docker란?✅ 도커 실행 구조✅ 핵심 구성 요소✅ 컨테이너의 특징✅ 도커로 배포하는 전체 흐름 (윈도우 → 리눅스)✅ 도커 vs VM

    harimmon

    RSS·Powered by Inblog