본문 바로가기
카테고리 없음

docker 로그 관리하기(docker logs, service, swarm)

by 룰루리랄라리 2022. 9. 15.

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에서 나오는 로그를 보고 싶은 경우

댓글