📁 Part 02. 도커 이미지 제작(Dockerfile), 멀티 스테이지 빌드 & 레지스트리 공유 (015 ~ 031)
대단원 개요: 런타임 환경 변수 주입, Dockerfile 5대 인스트럭션, 빌드 컨텍스트, 읽기 전용 레이어와 캐시 최적화, CMD vs ENTRYPOINT, Java/Node.js/Python/Go 멀티 스테이지 빌드, 사용자 정의 브리지 네트워크, Docker Hub/사설 레지스트리(registry:2), 시맨틱 태그와 골든 이미지
- 권장 학습 일정: 3 ~ 4주차
- 기반 범위: 3장(도커 이미지 만들기) & 4장(애플리케이션 소스 코드에서 도커 이미지까지) & 5장(레지스트리에 이미지 공유하기)
📋 본 파트 강의 목록 (총 17강)
015🌱🔧 도커허브 이미지활용과 런타임환경변수 주입 - 같은 이미지인데 개발 서버와 운영 서버에서 다르게 동작한다? 코드와 설정을 분리하는 환경 변수(--env)의 기술!016📜🧱 Dockerfile 기초문법 FROM ENV WORKDIR COPY CMD - 나만의 도커 이미지를 굽는 마법의 설계도!Dockerfile5대 핵심 인스트럭션 완전 정복017🏗️📦 컨테이너 이미지빌드와 빌드컨텍스트의 원리 -docker image build -t my-app:v1 .에서 맨 끝에 찍는 점(.) 하나가 왜 그렇게 중요할까?018🥞🔍 도커이미지 레이어아키텍처와 불변성 Immutability - 도커 이미지는 통짜 파일이 아니라 겹겹이 쌓인 투명 필름이다! 이미지 레이어(Layer)와 공유의 마법019⚡⏱️ 레이어캐시 최적화 수정빈도에따른 Dockerfile배치 - 3분 걸리던 이미지 빌드를 0.2초로 줄이는 비결! 도커 레이어 캐시(Layer Cache) 히트와 인스트럭션 재배치020🚪🎯 CMD vs ENTRYPOINT 실행명령과 인자전달패턴 -CMD와ENTRYPOINT는 왜 두 개나 존재할까? 컨테이너를 실행 가능한 CLI 도구처럼 만드는 고급 패턴!021🏗️✨ 빌드서버가 필요없는 멀티스테이지 빌드혁명 - 내 컴퓨터에 JDK도, Go 컴파일러도, Node.js도 설치하지 마세요!Dockerfile멀티 스테이지 빌드의 탄생022☕📦 실전멀티스테이지1 Java Maven Spring 애플리케이션빌드 - 자바(Java) 소스 코드에서 프로덕션 컨테이너까지! Maven 의존성 캐싱과 JRE 슬림 런타임 분리 실습023🟢🐍 실전멀티스테이지2 Node js와 Python 패키징최적화 - 인터프리터 언어도 멀티 스테이지가 필요할까? 프론트엔드 번들링과 C 확장 모듈 컴파일 분리 기법!024🐹🚀 실전멀티스테이지3 Go언어 네이티브바이너리와 초경량이미지 - 컨테이너 시대의 총아 Go 언어! 800MB 빌드 환경을 거쳐 단 10MB 초경량 독립 실행 이미지로 압축하기025🌐🔗 컨테이너간 네트워크연결 사용자정의 브리지네트워크 - 컨테이너 IP 주소는 재시작할 때마다 바뀌는데 어떻게 서로 통신할까? 도커 내장 DNS와 브리지 네트워크!026🏷️🏛️ 레지스트리 리포지터리 이미지태그의 정확한구조 - 우리가 무심코 쓰던nginx:alpine의 진짜 전체 이름은docker.io/library/nginx:alpine이었다!027☁️📤 도커허브와 GHCR에 나만의이미지 Push 배포하기 - 내가 만든 이미지를 클라우드 레지스트리에 올려 전 세계 어느 서버에서나docker pull로 내려받기!028🏰🔐 사설도커레지스트리 구축과 insecure registries 설정 - 외부 인터넷이 차단된 기업 폐쇄망이나 연구실 내부에 나만의 도커 허브(registry:2) 서버를 직접 구축하자!029🔢📌 시맨틱버저닝 이미지태그전략과 샤256 다이제스트 - 운영 서버에:latest태그를 그대로 쓰면 왜 재앙이 일어날까? 실무 이미지 태깅 전략(v1,v1.2,v1.2.3)!030👑🛡️ 검증된 공식이미지에서 기업표준 골든이미지로 - 도커 허브의 아무 이미지나 갖다 쓰면 위험하다! Verified Publisher와 사내 표준 골든 이미지(Golden Image) 구축031🏆🚀 Part02 실전미션 폴리글랏 마이크로서비스 빌드및레지스트리배포 - Part 02 종합 미션! 멀티 스테이지로 경량 이미지를 빌드해 로컬 레지스트리에 버전별로 배포하고 연동하기
서브목차