Docker
Docker 컨테이너의 크롤러가 콘텐츠를 읽지 못할 때
Docker로 배포한 앱이 검색 엔진 크롤러에게 읽히지 않는다면, 컨테이너 상태와 로그를 확인해야 한다.
Docker 이미지에서 크롤러가 콘텐츠를 못 읽는다면, 운영 중에는 작은 이상 신호도 빨리 분리해서 봐야 한다.
핵심은 컨테이너 전체 흐름에서 원인을 찾고, 눈으로 확인할 수 있는 값부터 모으는 것이다.
문제 상황 정리
크롤러가 뭘 읽지 못하나? 메타 태그? 이미지? 본문 콘텐츠?
정상 상태가 뭔지 먼저 정해둔다.
컨테이너 상태 확인
먼저 컨테이너가 제대로 떠있나 확인한다.
docker ps
docker logs --tail=100 service-name
docker inspect service-name
컨테이너가 실행 중인가, 에러 로그는 없나, 환경변수는 제대로 설정됐나.
확인 범위
바로 수정하기 전에 컨테이너 상태부터 확인하면 불필요한 변경을 줄일 수 있다.
- 먼저 볼 것: 컨테이너 상태와 로그
- 비교할 것: 정상일 때의 상태
- 기록할 것: 명령어, 로그 출력, 수정한 설정
환경변수와 로그
컨테이너 내부의 환경변수가 맞는가? 로그에 어떤 메시지가 들어있나?
이미지 태그가 맞는가? 업데이트 후 새 이미지를 배포했나?
포트와 네트워크
컨테이너의 포트 매핑이 맞는가? 외부에서 접속할 수 있는가?
포트 매핑이 잘못되면 크롤러가 접속할 수 없다.
검증
- 실제로 같은 조건에서 크롤러가 콘텐츠를 못 읽나 확인한다.
- 로그에서 뭐가 달라졌는지 설명한다.
- 실제로 크롤러가 페이지에 접속할 수 있나 확인한다.
결과가 바뀐 이유를 로그와 응답으로 설명할 수 있으면 충분히 정리된 것이다. 이번 확인을 기록해두면 다음 배포할 때도 도움이 된다.