>운영 및 유지보수 >Docker >Docker의 시스템 로그 살펴보기

Docker의 시스템 로그 살펴보기

PHPz
PHPz원래의
2023-04-19 14:11:57891검색

Docker는 애플리케이션을 독립 컨테이너에 격리하고 애플리케이션이 다양한 환경에서 실행될 수 있도록 하여 애플리케이션의 신속한 배포와 이식성을 달성할 수 있는 경량 가상화 기술입니다. Docker 컨테이너 수명주기에서 시스템 로그는 컨테이너의 정상적인 작동을 보장하기 위해 컨테이너 상태를 모니터링하고 유지하는 데 도움이 될 수 있습니다. 그렇다면 Docker의 시스템 로그는 무엇입니까? Docker의 시스템 로그를 사용하고 구성하는 방법은 무엇입니까? 이 글에서는 Docker의 시스템 로그 관련 지식을 소개합니다.

  1. Docker의 시스템 로그란 무엇인가요?

Docker의 시스템 로그는 표준 출력, 표준 오류 출력 등 컨테이너 실행 과정에서 생성되는 로그 정보를 의미합니다. 표준 출력은 프로그램이 동작 중 print()나 cout 등의 명령을 통해 출력하는 정보를 의미하고, 표준 오류 출력은 프로그램이 오류를 만났을 때 출력하는 오류 메시지를 의미한다. 이러한 로그 정보는 Docker 컨테이너 모니터링 및 오류 문제 해결에 매우 중요하므로 Docker는 컨테이너 시스템 로그를 수집, 확인 및 관리하는 다양한 방법을 제공합니다. Docker에서 제공하는 시스템 로그 수집 방법을 살펴보겠습니다.

  1. Docker의 시스템 로그 수집 방법

Docker는 다음 방법을 포함하여 컨테이너의 시스템 로그 정보를 수집하는 다양한 방법을 제공합니다.

2.1 docker 로그 명령

docker 로그 명령을 사용하여 지정된 컨테이너 출력 및 표준 오류 출력 로그의 구문은 다음과 같습니다.

docker logs [OPTIONS] CONTAINER

그 중 OPTIONS는 선택 사항이며, 볼 로그 수, 로그 출력을 따를지 여부 등을 지정할 수 있습니다. CONTAINER는 보려는 로그의 컨테이너 ID 또는 컨테이너 이름을 지정합니다. 예를 들어 컨테이너 ID가 abc123인 컨테이너의 로그 정보를 보려면 다음 명령을 사용할 수 있습니다.

docker logs -f abc123

이 명령은 컨테이너의 로그 출력을 따르고 새 로그 정보를 표시합니다.

2.2 docker events 명령 사용

docker events 명령은 컨테이너의 시작 및 중지를 포함하여 Docker 데몬의 이벤트 로그를 볼 수 있습니다. dockerlogs 명령과 달리 docker events 명령은 모든 컨테이너의 이벤트 정보를 볼 수 있습니다. 구문은 다음과 같습니다.

docker events [OPTIONS]

그 중 OPTIONS는 선택 사항이며 특정 유형의 이벤트를 보거나 특정 이벤트를 필터링하도록 지정할 수 있습니다. , 등.

2.3 docker Inspection 명령 사용

docker Inspection 명령은 컨테이너의 네트워크 설정, 마운트 지점 및 기타 정보를 포함하여 컨테이너의 세부 정보를 볼 수 있습니다. 컨테이너의 세부 정보에는 컨테이너의 시스템 로그 정보도 포함됩니다. 예를 들어 컨테이너 ID가 abc123인 컨테이너의 세부 정보를 보려면 다음 명령을 사용할 수 있습니다.

docker inspect abc123
  1. Docker의 시스템 로그 구성

Docker에서 제공하는 로그 수집 도구를 사용하는 것 외에도 다음 명령을 사용할 수 있습니다. 컨테이너의 시스템 로그를 수집하고 관리하는 타사 도구입니다. 예를 들어 ELK 도구를 사용하여 Docker 컨테이너의 로그 정보를 수집, 저장 및 분석할 수 있습니다. Docker의 로그 드라이버를 통해 컨테이너의 로그 정보 수집 방식을 구성하는 방법을 살펴보겠습니다.

Docker에서는 로그 구성에 다음 로그 드라이버를 사용할 수 있습니다.

  • json-file: 기본 로그 드라이버는 컨테이너 로그를 JSON 파일로 출력합니다.
  • syslog: 컨테이너 로그를 syslog에 출력합니다.
  • journald: 컨테이너 로그를 systemd-journald로 출력합니다.
  • gelf: 출력 컨테이너 로그는 Graylog 확장 로그 형식으로 표시됩니다.
  • fluentd: Fluentd에 컨테이너 로그를 출력합니다.

Docker는 이러한 기본 로그 드라이버 외에도 logspout, logrotate 등과 같은 타사 로그 드라이버의 사용도 지원합니다. Docker의 로그 드라이버를 사용하여 컨테이너의 로그 파일 위치, 형식 및 기타 정보를 구성할 수 있습니다. 예를 들어 다음 명령을 사용하면 json-file 드라이버를 사용하여 컨테이너 로그를 /var/log/docker 디렉터리에 출력할 수 있습니다.

docker run --log-driver=json-file --log-opt max-size=10m --log-opt max-file=3 -d nginx

위 명령에서 –log-driver=json-file은 로그 드라이버를 지정합니다. json-file, –log-opt max-size=10m 및 –log-opt max-file=3은 로그 파일의 크기 및 수량 제한을 지정합니다. 이런 방식으로 컨테이너가 로그를 생성하면 로그 정보가 /var/log/docker/container ID-json.log 파일에 출력됩니다.

  1. 요약

Docker 컨테이너 수명 주기에서 시스템 로그는 컨테이너의 정상적인 작동을 보장하기 위해 컨테이너 상태를 모니터링하고 유지하는 데 도움이 될 수 있습니다. Docker는 docker 로그, docker 이벤트, docker 검사와 같은 명령을 사용하고 타사 로그 드라이버를 사용하여 로그 파일 위치, 형식 및 구성을 구성하는 등 컨테이너의 시스템 로그 정보를 수집하고 보고 관리하는 다양한 방법을 제공합니다. 기타 정보. Docker 컨테이너를 더 잘 모니터링하고 관리하기 위해 실제 요구 사항에 따라 적절한 로그 수집 도구와 구성 방법을 선택할 수 있습니다.

위 내용은 Docker의 시스템 로그 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.