컨테이너 기술 실습

난이도: 초급 예상 소요 시간: 45분 마지막 업데이트: 2026년 2월 11일

학습 목표

  • Dockerfile을 작성하고 이미지를 빌드합니다

  • 멀티스테이지 빌드를 활용하여 이미지를 최적화합니다

  • 컨테이너 실행, 디버깅, 로그 확인을 실습합니다

사전 요구 사항


실습 1: Dockerfile 작성과 이미지 빌드

목표

간단한 웹 애플리케이션을 컨테이너화합니다.

단계

Step 1.1: 프로젝트 디렉토리 생성

Step 1.2: Dockerfile 작성

Step 1.3: 이미지 빌드

예상 결과:

chevron-right힌트가 필요하신가요?hashtag
  • docker build -t 이름:태그 .에서 .은 빌드 컨텍스트 디렉토리입니다

  • alpine 기반 이미지는 크기가 작아서 K8s 배포에 유리합니다

  • docker build --no-cache로 캐시 없이 빌드할 수 있습니다

검증


실습 2: 컨테이너 실행과 디버깅

목표

컨테이너를 실행하고 내부를 디버깅합니다.

단계

Step 2.1: 컨테이너 실행

Step 2.2: 컨테이너 접근 확인

Step 2.3: 컨테이너 내부 접속

Step 2.4: 로그 확인

chevron-right힌트가 필요하신가요?hashtag
  • docker exec -it-it는 interactive + TTY 옵션입니다

  • docker inspect 컨테이너명으로 상세 정보를 확인할 수 있습니다

  • K8s에서는 kubectl exec -it pod명 -- sh와 동일합니다

검증


실습 3: 멀티스테이지 빌드

목표

멀티스테이지 빌드를 사용하여 이미지 크기를 최적화합니다.

단계

Step 3.1: Go 애플리케이션 생성

Step 3.2: 멀티스테이지 Dockerfile

Step 3.3: 이미지 크기 비교

chevron-right힌트가 필요하신가요?hashtag
  • 멀티스테이지 빌드에서 FROM ... AS builder로 빌드 스테이지에 이름을 부여합니다

  • COPY --from=builder로 이전 스테이지의 산출물만 복사합니다

  • 최종 이미지에는 빌드 도구가 포함되지 않아 크기가 대폭 줄어듭니다

검증


정리

다음 단계

마지막 업데이트