기본 패턴
bash
docker logs app
docker exec -it app sh
docker inspect app설명
- 컨테이너가 기대대로 동작하지 않을 때 가장 먼저 보는 것은 보통 로그, 내부 셸, 객체 메타데이터입니다.
docker logs는 애플리케이션 표준 출력 기반 로그를 확인하는 가장 빠른 출발점입니다.docker exec -it <name> sh는 실행 중인 컨테이너 안으로 들어가 파일, 환경 변수, 프로세스를 직접 확인할 때 유용합니다.docker inspect는 포트 매핑, 마운트, 네트워크 설정, 이미지 정보 같은 저수준 메타데이터를 JSON으로 보여 줍니다.- 따라서 디버깅은 "로그 -> 내부 셸 -> 메타데이터 확인" 순서로 잡으면 대부분의 기초 문제를 빠르게 줄일 수 있습니다.
짧은 예제
bash
docker logs web
docker exec -it web sh
docker inspect --format='{{.Config.Image}}' web
docker inspect --format='{{json .NetworkSettings.Ports}}' web빠른 정리
| 명령 | 볼 수 있는 것 |
|---|---|
docker logs | 애플리케이션 출력 로그 |
docker exec -it | 컨테이너 내부 셸과 파일 상태 |
docker inspect | 포트, 마운트, 네트워크, 설정 |
--format | 필요한 값만 추출 |
| 기본 흐름 | 로그 후 내부 확인, 그다음 설정 확인 |
주의할 점
디버깅을 위해 컨테이너 안을 손으로 고친 내용은 보통 재시작이나 재배포 때 사라집니다. 원인을 찾는 데만 쓰고, 실제 수정은 Dockerfile이나 Compose 설정으로 되돌려야 합니다.
참고 링크
2 sources