TechBridge

볼륨 & 네트워크 — 데이터는 어떻게 살아남나

← 목록으로

📋 실습 안내

✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기 내 코드 실행 결과
🎯 완성 미리보기 목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기 이번 강의 전용
  선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. Docker 컨테이너를 삭제했을 때 데이터가 사라지는 이유는?
💡 컨테이너는 이미지 레이어(Read-Only) 위에 Writable Layer를 추가합니다. 런타임 중 생성/변경된 파일은 이 Writable Layer에 저장됩니다. 컨테이너를 삭제(docker rm)하면 이 Writable Layer도 함께 삭제되어 데이터가 사라집니다.
Q2. Named Volume과 Bind Mount의 가장 큰 차이점은?
💡 Named Volume은 /var/lib/docker/volumes/ 아래 Docker가 관리하는 위치에 저장됩니다. Bind Mount는 -v /host/path:/container/path처럼 호스트의 특정 경로를 직접 마운트합니다. 두 방식 모두 컨테이너 삭제 후에도 데이터가 보존됩니다.
Q3. 사용자 정의 bridge 네트워크(docker network create)를 사용하는 주된 이유는?
💡 기본 bridge 네트워크에서는 컨테이너명으로 DNS 해석이 되지 않아 IP 주소를 직접 써야 합니다. 사용자 정의 bridge 네트워크는 Docker 내장 DNS 서버(127.0.0.11)를 통해 컨테이너명으로 자동 DNS 해석을 지원합니다. docker-compose는 이 방식을 자동으로 사용합니다.
Q4. tmpfs 마운트의 특징으로 올바른 것은?
💡 tmpfs는 RAM에 저장되는 임시 파일시스템입니다. 컨테이너 종료 시 사라지므로 세션 데이터, 임시 파일, 민감한 정보(디스크에 기록하면 안 되는 데이터) 등에 적합합니다. 빠른 I/O가 장점이지만 재시작 시 데이터가 사라진다는 점을 반드시 고려해야 합니다.
Q5. docker-compose에서 DB_HOST: postgres 처럼 서비스명으로 연결할 수 있는 이유는?
💡 docker-compose는 실행 시 자동으로 프로젝트명_default라는 사용자 정의 bridge 네트워크를 생성합니다. 이 네트워크의 내장 DNS 서버가 서비스명을 해당 컨테이너 IP로 해석해줍니다. 따라서 DB_HOST=postgres처럼 서비스명(컨테이너명)으로 다른 서비스에 접근할 수 있습니다.
🎉

퀴즈 통과!

점수: 0점 — 수고하셨습니다!

다음 강의로 →
😅

아쉽네요!

점수: 0점 — 70점 이상이 되어야 통과합니다.