IT writer

Docker 학습 요약 노트

헬로제이콥 2026. 2. 24. 15:44

🐳 Docker 학습 요약 노트

1. 도커 커리큘럼 (Docker Curriculum)

우리는 총 4단계를 거쳐 도커의 기본기를 마스터했습니다.

  • 1단계: 기초 개념 - 이미지(설계도)와 컨테이너(실행체)의 차이 및 격리 원리 이해.
  • 2단계: 이미지 빌드 - Dockerfile을 작성하여 나만의 실행 환경 제작.
  • 3단계: 멀티 컨테이너 관리 - Docker Compose를 이용한 여러 서비스의 일괄 관리.
  • 4단계: 데이터와 네트워크 - 볼륨(Volume)을 통한 데이터 보존 및 컨테이너 간 통신.

2. 핵심 요약 (Key Concepts) 💡

  • 이미지(Image): 프로그램 실행에 필요한 모든 것을 담은 읽기 전용 스냅샷.
  • 컨테이너(Container): 이미지를 실행한 상태. 독립된 박스 안에서 프로세스가 돌아감.
  • 불변성(Immutability): 이미지는 변하지 않으며, 수정 시 새로운 이미지를 빌드함.
  • 볼륨(Volume): 컨테이너가 사라져도 데이터가 남도록 하는 외장 금고.
  • 네트워크(Network): 컨테이너들이 서로의 서비스 이름으로 대화할 수 있게 해주는 통로.

3. 주요 명령어 (Essential Commands) ⌨️

분류 명령어 설명
빌드/실행 docker build -t [이름] . 현재 폴더의 Dockerfile로 이미지 빌드
  docker run [이름] 컨테이너 실행
  docker run -it [이름] 상자 안으로 들어가서 대화하기
관리/확인 docker ps -a 모든 컨테이너(잠든 것 포함) 상태 확인
  docker images 보관 중인 이미지 목록 확인
  docker logs [ID/이름] 박스 내부에서 일어난 일(로그) 확인
컴포즈 docker-compose up 주문서(yml)대로 모든 서비스 실행
  docker-compose down 모든 서비스 중지 및 깔끔하게 철거

4. 예제 파일 (Example Files) 📄

[Dockerfile] - 상자 조립 설명서

FROM python:3.9-slim      # 1. 기초 재료 (OS+파이썬)
COPY main.py .            # 2. 내 코드 복사
CMD ["python", "main.py"] # 3. 실행할 명령어

[docker-compose.yml] - 세트 메뉴 주문서

version: '3.8'
services:
  app:                    # 서비스 이름 (이 이름으로 통신 가능)
    build: .              # 현재 폴더에서 빌드
    volumes:
      - .:/app            # 실시간 코드 연결 (Bind Mount)
    command: python /app/main.py