ACTIVE INCIDENT
00:00 elapsed
LABLAB-DOCKER-03-NETWORK-DEBUGSEV-2
컨테이너가 서로 못 찾는다 — Docker 네트워크 디버깅
ELAPSED
00:00
PHASE
0 / 6
SLA
35분
📦 Docker
← 목록
INCIDENT RESPONSE
0 / 7 단계 완료
📚 PREREQUISITES
Theorydocker/docker-compose
Theorylinux/networking-basics
TRACK
DOCKER
SLA
35분
SEV
SEV-2
PHASES
5단계
ENV
container
INCOMING TICKET
오전 11:03 팀 Slack @here: "전체 장애. React 앱에서 모든 API 요청이 5xx로 떨어지고 있어요. 신규 배포 10분 뒤부터 시작됐고 frontend 로그에 네트워크 에러가 쏟아지고 있습니다." — 팀 리드 DM: "지금 바로 보고 가능해요? 고객 CS 들어오기 시작했어요."
YOUR ROLE
주니어 인프라 엔지니어 (온콜 대응)
IMPACT IF UNRESOLVED
전체 서비스 장애. React 앱에서 모든 API 요청 실패. 배포 후 네트워크 격리로 frontend↔backend 통신 단절. 장애 미복구 시 고객 CS 폭증.
🚨INCIDENT BRIEF
오전 11시, Slack 알람이 울렸습니다.
프론트가 API를 못 찾아요. 전체 장애입니다.
어제까지는 됐는데, 오늘 새벽 배포 후부터 React 앱에서 API 요청이 전부 실패하고 있습니다.
두 컨테이너(frontend, backend)가 같은 서버에서 돌고 있는 건 확인했습니다.
curl은 됩니다. 포트도 열려 있습니다. 그런데 컨테이너 안에서는 연결이 안 됩니다.
이 Lab에서는 Docker 네트워크 구조를 직접 해부하고, 두 컨테이너가 통신하지 못하는 원인을 찾아 복구합니다.
⏱ 35분📊 중급🔧 5단계#docker#network#bridge#dns
MISSION
1
문제 재현 — 컨테이너 안에서 API 호출 실패 확인
frontend 컨테이너 내부에서 backend 컨테이너에 curl을 쳐서 통신 실패를 직접 확인하고, 오류 메시지를 기록한다
2
네트워크 구조 파악 — 두 컨테이너가 어떤 네트워크에 있나
docker inspect 명령으로 두 컨테이너가 서로 다른 네트워크에 속해 있다는 사실을 확인한다
3
사용자 정의 네트워크 생성 & 두 컨테이너 연결
app-net이라는 사용자 정의 브리지 네트워크를 만들고, frontend와 backend 두 컨테이너를 모두 연결한다
4
통신 복구 확인 & 영구 해결책 이해
frontend 컨테이너 안에서 backend 이름으로 curl이 성공하는 것을 확인하고, docker-compose.yml로 영구 해결하는 방법을 이해한다
5
네트워크 격리 문제 진단 기록
Docker 컨테이너 간 네트워크 통신 실패 원인과 격리 규칙에 대해 기록한다
📌 선수 지식
• [이론] docker/docker-compose
• [이론] linux/networking-basics
ℹ️ 실습 환경
환경: container
필요 도구: docker, curl, ping
검증 스크립트: /labs/lab-docker-03-network-debug/scripts/verify.sh
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES