컨테이너 로깅 - json-file 로그

mohadang·2022년 4월 10일
0

도커

목록 보기
12/26
post-thumbnail

도커는 컨테이너의 표준 출력(stdout)과 에러(strerr) 로그를 별도의 메타데이터 파일로 저장하고 이를 확인하는 명령어 제공

도커 로그 확인 명령어(logs)

docker logs "name" 명령어로 확인 가능

  • EX) mysql 컨테이너를 정상적으로 생성하고 로그 확인
$ docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7
16b6480c194eb64dc89660d3351069343cbc1815974588669ce628f803f0e841
$ docker logs mysql
2022-04-10 07:18:42+00:00 [Note] [Entrypoint]: Entrypoint ...
2022-04-10 07:18:42+00:00 [Note] [Entrypoint]: Switching to d...
2022-04-10 07:18:42+00:00 [Note] [Entrypoint]: Entrypoint script for...
  • EX) 로그의 끝에 2줄 확인
$ docker logs --tail 2 mysql
  • EX) 유닉스 시간을 입력해 특정 시간 이후의 로그를 확인
$ docker logs --since 1474765979 mysql
  • EX) 로그 실시간 확인
$ docker logs -f -t mysql
  • EX) attach 모드의 도커 컨테이너 log 확인
$ docker run -i -t --name logstest ubuntu:14.04
# echo test!
test!

$ docker logs logstest
# echo test!
test!

도커 로그 저장 위치

cat /var/lib/docker/containers/${CONTAINER_ID}/${CONTAINER_ID}-json.log
cat /var/lib/docker/containers/3af9030.../3af9030...-json.log

도커 로그 용량 제한(max-size, max-file)

$ docker run -it --log-opt max-size=10k --log-opt max-file=3 --name log-test ubuntu:14.04

도커 로그 드라이버(--log-driver)

  • 어떤 설정도 하지 않았다면 컨테이너 로그를 Json 파일로 저장
  • 다른 로깅 드라이버를 사용하여 로그를 저장 가능
    • syslog
    • journald
    • fluentd
    • awslogs
    • ...

도커 데몬 시작 옵션 변경

DOCKER_OPTS="--log-driver=syslog"
DOCKER_OPTS="--log-opt max-size=10k --log-opt max-file=3"
profile
mohadang

0개의 댓글