docker로 구성된 logstash 컨테이너를 수정할 일이 있었습니다.
해당 컨테이너의 로그를 보려고 아래 명령어를 입력한 순간...
docker logs log01
쌓여있던 로그가 미친듯이 뿜어져나와 제가 보고 싶은 메세지를 보는데 한참이 걸렸죠.
이 문제를 해결하려면 어떻게 해야 할까요?
docker logs는 컨테이너의 로그를 조회할 수 있는 명령어입니다.
아래와 같은 형태로 이뤄집니다.
docker logs [OPTIONS] CONTAINER
[OPTIONS]
에 옵션을 부여해주면 저희가 보고싶은대로 log를 볼 수 있습니다.
docker run --name test -d busybox sh -c "while true; do $(echo date); sleep 1; done"
간단하게 log가 계속 찍히는 컨테이너를 생성했습니다.
컨테이너 이름은 test입니다.
이 컨테이너를 이용해 실습해보겠습니다.
docker logs --tail 10 <CONTAINER>
--tail n
옵션을 사용하면 끝에서 n개의 로그만 출력합니다.
docker logs -f <CONTAINER>
-f
옵션을 사용하면 로그를 출력하고 프로세스를 종료하는 것이 아니라 계속해서 로그를 추적합니다.
docker logs -f --tail 0 <CONTAINER>
이전 n개의 로그를 출력하고 신규 로그를 추적하고 싶다면 --tail <n>
으로 수정하면 됩니다.
docker logs test | grep :20
linux의 grep
기능을 활용하면 쉽습니다.
grep 이후에 검색하고자하는 text를 넣어주시면 됩니다.
해당 포스트에 추가가 필요한 꿀팁이나 수정사항이 있으시면 언제든 피드백 주시면 감사하겠습니다. 😄