Docker와 Docker Compose: 개발 환경을 하나로 통일하는 도구
복잡한 프로그램 설치 없이, Docker와 Docker Compose를 활용하여 Next.js, Go API, 데이터베이스까지 일관된 로컬 개발 환경을 한 번에 구축하는 방법을 배웁니다.
대상 독자: 로컬 개발 환경을 통일하고 여러 서비스를 한 번에 띄워야 하는 바이브코딩 비개발자
1강 시작하기회차 목록
Part 1. Docker의 핵심 개념 이해하기
Docker가 왜 필요한지, 이미지와 컨테이너가 어떻게 다른지 직관적으로 알아봅니다.
도커는 왜 필요한가: '내 컴퓨터에선 되는데요?' 방지
프로그램 설치와 충돌의 고통에서 벗어나, 어디서든 동일하게 동작하는 개발 환경을 만들어주는 Docker의 개념을 알아봅니다.
예상 학습 시간 8분
2강도커의 두 기둥: 이미지와 컨테이너의 차이
설계도 역할을 하는 '이미지'와, 그 설계도를 바탕으로 실행된 '컨테이너'의 차이를 알기 쉽게 정리합니다.
예상 학습 시간 8분
3강[요약] Part 1. Docker의 핵심 개념 이해하기
Part 1. Docker의 핵심 개념 이해하기의 핵심 내용을 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분
Part 2. 컨테이너를 내 마음대로 다루기
포트, 볼륨, 환경 변수 등 컨테이너를 실제 애플리케이션에 맞게 설정하는 방법을 배웁니다.
나만의 도커 레시피: Dockerfile 이해하기
내 소스 코드를 도커 이미지로 굽기 위해 필요한 레시피 파일인 Dockerfile의 기본 명령어들을 학습합니다.
예상 학습 시간 8분
5강이미지 빌드와 컨테이너 실행, 그리고 재시작
작성한 Dockerfile을 바탕으로 이미지를 빌드하고, 컨테이너를 띄우며, 장애 시 자동 재시작하게 만드는 방법을 배웁니다.
예상 학습 시간 10분
6강외부와 통신하기: 포트 매핑의 원리
컨테이너 내부의 격리된 네트워크 포트를 내 컴퓨터(호스트)의 포트와 연결하여 외부에서 접근할 수 있게 하는 포트 매핑을 배웁니다.
예상 학습 시간 8분
7강데이터를 영구적으로 저장하기: 볼륨(Volume)
컨테이너가 삭제되어도 데이터베이스나 파일이 날아가지 않도록, 호스트 디스크에 데이터를 안전하게 저장하는 볼륨 마운트를 알아봅니다.
예상 학습 시간 10분
8강비밀번호와 설정값 주입하기: 환경 변수
코드에 하드코딩하면 안 되는 DB 비밀번호, API 키 등을 컨테이너가 실행될 때 환경 변수로 안전하게 주입하는 방법을 학습합니다.
예상 학습 시간 8분
9강[요약] Part 2. 컨테이너를 내 마음대로 다루기
Part 2. 컨테이너를 내 마음대로 다루기의 핵심 내용을 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분
Part 3. 복잡한 시스템을 한 번에: Docker Compose
여러 개의 컨테이너를 하나로 묶어서 실행하고 관리하는 Docker Compose의 실전 명령어를 학습합니다.
오케스트레이션의 시작: Docker Compose와 필수 명령어
여러 컨테이너를 하나의 파일로 관리하는 Docker Compose의 원리와, 자주 쓰이는 핵심 명령어(up, down, logs, ps, exec)를 익힙니다.
예상 학습 시간 10분
11강컨테이너 간의 통신: 도커 네트워크
Next.js에서 API 서버로, API 서버에서 DB로 컨테이너끼리 어떻게 이름을 부르며 통신하는지 도커 내부 네트워크의 원리를 알아봅니다.
예상 학습 시간 10분
12강안전하게 순서대로 띄우기: Health Check
DB가 완전히 켜질 때까지 백엔드 서버가 기다리도록, Health Check 기능과 depends_on을 활용하여 실행 순서를 맞추는 법을 배웁니다.
예상 학습 시간 10분
13강[요약] Part 3. 복잡한 시스템을 한 번에: Docker Compose
Part 3. 복잡한 시스템을 한 번에: Docker Compose의 핵심 내용을 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분
Part 4. 실전 로컬 스택 구축과 운영 전략
Next.js, Go, DB가 포함된 풀스택 환경을 구성하고, 운영 서버에서의 데이터베이스 관리 전략을 알아봅니다.
실전 로컬 스택: Next.js + Go + DB + Redis 연결하기
실제 서비스 개발 환경과 동일하게 프론트엔드, 백엔드 API, 그리고 2개의 데이터베이스를 하나의 Docker Compose 파일로 조립합니다.
예상 학습 시간 12분
15강로컬을 넘어 운영 서버로: 관리형 DB 서비스 고려하기
운영 환경에서는 DB 컨테이너를 직접 관리하기보다 관리형 서비스(RDS, ElastiCache)를 사용하는 것이 왜 안전한지 아키텍처 전략을 학습합니다.
예상 학습 시간 8분
16강[요약] Part 4. 실전 로컬 스택 구축과 운영 전략
Part 4. 실전 로컬 스택 구축과 운영 전략의 핵심 내용을 정리하고 복습하는 요약 회차입니다.
예상 학습 시간 3분