Docker
Docker 컨테이너 환경변수 문제 디버깅
Docker로 개발할 때 환경변수 때문에 생기는 문제를 빠르게 찾는 방법을 정리했습니다.
환경변수 문제, 어디서부터 봐야 할까
Docker 컨테이너를 운영하다 보면 로컬에서는 잘 되던 것이 컨테이너에서 안 될 때가 있다. 대부분 환경변수 설정 차이인데, 손으로 여러 번 확인하다 보면 같은 실수를 반복하게 된다. 이럴 땐 확인 순서를 정해두는 게 낫다.
먼저 컨테이너가 정상인지 확인하자.
docker ps
컨테이너가 떠 있으면 로그를 봐야 한다. 최근 로그 100줄을 먼저 확인해서 에러가 있는지 본다.
docker logs --tail=100 service-name
로그에 에러가 없으면 컨테이너 설정을 봐야 한다. 환경변수가 제대로 설정됐는지 docker inspect로 확인한다.
docker inspect service-name
환경변수가 제대로 설정됐다면
환경변수는 맞는데 여전히 문제가 있다면 다른 부분을 봐야 한다.
- 로그와 응답 중 바뀐 부분을 찾는다
- 로컬과 운영 환경의 차이를 기록해둔다
- 수정한 설정과 결과를 남겨둔다
마지막 확인
컨테이너를 다시 시작하고 같은 증상이 나오는지 확인한다. 증상이 없어졌으면 로그와 응답으로 뭐가 달라졌는지 설명할 수 있을 정도로 기록해두자. 이렇게 하면 다음에 비슷한 문제가 나올 때 훨씬 빨리 처리할 수 있다.