이 문서는 개발자가 컨테이너 개념 이해 → 명령어 숙달 → 이미지 빌드 → 다중 컨테이너 오케스트레이션 → AWS 인프라 구축 → 자동 배포 파이프라인까지 순서대로 익힐 수 있도록 구성한 교안이다.
커리큘럼 구성
Part 1. Docker 기본 과정
챕터 | 내용 |
|---|---|
컨테이너화 배경, VM 비교, Docker 엔진 구조 | |
Windows(WSL2) / macOS 설치, WSL Integration | |
컨테이너·이미지·네트워크·볼륨 명령어 + 8단계 실습 | |
Dockerfile, 멀티 스테이지 빌드, 레이어 캐시, Docker Hub, | |
3-tier(Nginx + Spring Boot + MySQL) 구성, Secrets, 헬스체크 |
Part 2. 레퍼런스
챕터 | 내용 |
|---|---|
FROM/RUN/CMD/ENTRYPOINT 등 문법 정리 + 확인 실습 3개 | |
WSL 이미지 저장 경로 변경, docker 그룹 권한, 컨테이너 로그 크기 제한 |
Part 3. Docker 실전 프로젝트
챕터 | 내용 |
|---|---|
Blue/Green 배포 스크립트, 헬스체크 기반 전환 |
Part 4. AWS
챕터 | 내용 |
|---|---|
IaaS/PaaS/SaaS/FaaS, 주요 서비스, 리전·AZ, IAM, 네트워크 기초 | |
인스턴스 생성, Elastic IP 과금, SSH 접속, Amazon Linux 2023 초기 설정 | |
프로젝트 생성, 직접 연결 vs 풀러, PostgreSQL 전환 | |
Docker 설치, GHCR push/pull, 환경변수 주입, 보안 그룹 | |
워크플로, GHCR, 배포용 SSH 키, Secrets, 롤백 | |
블루·그린, 리버스 프록시, 헬스 체크 후 전환, 배포 키 강제 명령 |
학습 순서 권장
[Part 1] 개요 ─→ 설치 ─→ 기본 명령어
│
▼
이미지 생성 및 관리 ─→ Dockerfile 레퍼런스
│
▼
Docker Compose
│
┌───────────────┴───────────────┐
▼ ▼
[Part 3] Docker 실전 [Part 4] AWS
Blue/Green 무중단 배포 클라우드 개요 → EC2 → Supabase
│
▼
수동 배포 → GitHub Actions CI/CD
│
▼
Nginx 무중단 배포Part 3과 Part 4는 독립적으로 진행할 수 있다. Part 3은 리눅스 서버 한 대에 Nginx·DB·앱을 전부 컨테이너로 올리고 스크립트를 직접 실행해 무중단 배포하는 방법을, Part 4는 EC2 위에서 GitHub Actions와 Nginx로 같은 일을 자동화하는 방법을 다룬다. 두 방식을 비교해 보면 원리가 같다는 것이 드러난다.
Part 3 은 개인 PC 가 아니라 메모리 2 GiB 이상의 리눅스 호스트가 필요하다. 교안은 EC2 t3.small 에서 실측했다. EC2 를 처음 만든다면 Part 4 의 EC2 인스턴스 생성을 먼저 보고 온다.
실습 환경
구분 | 버전 |
|---|---|
Docker (로컬) | Docker Desktop 최신판 — 교안 출력은 Docker Engine 29 기준 |
Docker (EC2) | Amazon Linux 2023 저장소판 — Docker 25 대. 일부 명령의 출력 형식이 로컬과 다르다 |
Docker Compose | 내장 플러그인 |
JDK | 21 (LTS) — 컨테이너 이미지(Temurin) 안에만 둔다. EC2 에는 Java 를 설치하지 않는다 |
EC2 OS | Amazon Linux 2023 |
MySQL | 8.4 (LTS) — Part 1~3의 컨테이너 데이터베이스 |
PostgreSQL | Supabase 관리형 — Part 4의 데이터베이스 |