도커 로그를 사용하는 이유
- 백그라운드 모드로 컨테이너를 생성하는 경우 애플리케이션 구동 여부를 알 수 없지만 로그를 통해 확인 가능
도커 로그 보는 방법
- docker logs xxx
- -tail 숫자 : 뒤에서 숫자만큼 로그 출력
- -t : 로그 시간 표시
- -f : 실시간으로 올라오는 로그 확인
- --since 유닉스 시간 : 유닉스 시간을 입력해 특정 시간 이후의 로그 확인
- -opt(max-size, max-file) : 로그 파일 크기 및 개수 설정
- --log-driver 드라이버 이름 : 해당 드라이버 로그 생성
- 로그 파일 위치
- /var/lib/docker/containers/컨테이너아이디/컨테이너아이디-json.log 가 기본 경로
- mac OS인 경우 : nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock
도커 로그 종류
- Json (default)
- syslog
- journald
- fluentd
- awslogs
syslog
특징
- 유닉스 계열 운영체제에서 로그를 수집하는 오래된 표준
- 대부분의 유닉스 계열 운영 체제에서는 syslog를 사용하는 인터페이스가 동일하기 때문에 체계적으로 로그를 수집하고 분석 가능
syslog 드라이버로 설정해서 컨테이너 생성 후 에러 발생..
fluentd
특징
- 도커에서 플러그인을 공식적으로 제공
- 수집한 데이터 AWS S3, HDFS, MongoDB 등 다양한 저장소에 저장할 수 있음
아마존 클라우드워치 로그
특징
- 로그 및 이벤트 등을 수집하고 저장해 시각적으로 보여주는 클라우드워치를 제공