← 전체 글로 돌아가기

Docker

Docker 컨테이너 로그 다루기

Docker 작업에서 로그를 어떻게 확인하고 해석하는지가 문제 해결 속도를 좌우한다.

Docker 문제를 해결할 때 검색해서 들어온 상황이라면 바로 재현 조건부터 잡는 편이 빠르다.

핵심은 한 가지에만 붙잡지 말고 전체 컨테이너 흐름에서 원인을 찾아내는 것이다. 재현 조건, 로그, 응답을 먼저 수집해야 한다.

검색해서 온 상황

화면만 봐서는 놓치는 게 많다. 로그, 응답, 설정 중 하나를 증거로 잡아야 한다.

첫 번째 단서

컨테이너 작업은 로컬과 운영의 차이가 자주 숨어 있다. 환경 차이까지 같이 적어두면 원인 추적이 쉬워진다:

  • 먼저 볼 값: 로그
  • 같이 비교할 값: 정상일 때의 컨테이너 상태
  • 남겨둘 기록: 명령 출력, 응답 코드, 수정한 설정

환경변수와 두 번째 단서

바로 수정하기 전에 컨테이너 상태부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.

docker ps
docker logs --tail=100 service-name
docker inspect service-name

직접 확인하는 명령어

중요한 건 Docker 자체보다 재현 가능한 단서를 남기는 것이다. 이미지 태그를 확인하면 다음으로 볼 범위가 확 줄어든다.

포트 매핑과 수정 후 확인

바로 수정하기 전에 환경변수부터 확인하면 불필요한 변경을 줄일 수 있다. 작은 확인이 쌓이면 원인 후보가 자연스럽게 줄어든다.

검증 항목

  1. 원래 증상이 같은 조건에서 다시 나는지 확인한다.
  2. 로그나 응답에서 바뀐 부분을 한 줄로 설명해본다.
  3. 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.

재발 방지

컨테이너의 흐름을 먼저 끊어서 봐야 한다. 볼륨 마운트가 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다. 한 번에 여러 설정을 바꾸지 않는 것만으로도 원인 추적이 쉬워진다.