docker 로그 관리하기
현재 docker에서 프로젝트를 진행을 하고 있기 때문에 docker로 log를 확인하는 방법을 알아보려고 한다.
docker container id 확인하기
docker container가 동작하고 있는 서버에서 container id을 얻는다.
docker container ls
docker container 로그 확인
docker logs $containerId
--tail
--tail 옵션을 이용해 원하는 로그를 확인할 수 있다.
--tail 10 일 경우 발생한 로그 중에서 마지막 10줄을 확인할 수 있다.
docker logs --tail 10 $containerId
-f (실시간 로그 보기)
-f 옵션은 --follow로 실시간 로그 확인이 가능하다.
docker logs -f $containerId
timestamp
-t 옵션을 사용하면 해당 옵션이 만들어진 날짜를 확인할 수 있다.
docker logs -t $containerId
since
--since 옵션을 사용하면 입력한 시간 이후의 로그만 확인이 가능하다.
유닉스 시간 뿐만아니라 2022-09-14라고 입력해도 가능하다.
docker service 로그 확인
docker service 로그도 container 로그를 확인하는 방식과 똑같다.
service가 동작하고 있는 서버에서 service id를 얻는다.
docker service ls
docker service logs $serviceId
docker build 서버 따로, 운영서버 2개에서 따로 프로세스가 동작중이다.
docker container로 로그를 확인하려면 운영서버 2개에 접속하여 따로 logs를 확인해야 한다.
하지만 docker service logs로 build 서버에서 로그를 확인할 수 있다.
docker swarm에서 로그 보기
docker exec는 실행 중인 컨테이너에 명령을 내리게 할 수 있어서 디버깅 용도로 사용한다.
docker exec [옵션] 컨테이너ID 명령어
docker exec -it $containerId pwd #docker container의 위치를 알고 싶을 경우
docker exec -it $containerId ls #docker container의 파일을 알고 싶을 경우
docker exec -it $containerId pm2 logs #pm2에서 나오는 로그를 보고 싶은 경우
댓글