1. Docker 로그의 기본 개념
Docker에서 컨테이너의 로그는 애플리케이션이 출력하는 표준 출력(STDOUT) 및 표준 에러(STDERR)를 기록합니다. 이를 통해 애플리케이션의 실행 결과와 상태를 쉽게 추적할 수 있습니다. docker logs 명령어를 사용하면 특정 컨테이너의 로그를 확인할 수 있습니다.
2. Docker에서 로그 확인 방법
2.1. 실행 중인 컨테이너 로그 확인
특정 컨테이너의 로그를 확인하려면 다음 명령어를 사용합니다.
docker logs <container-id or container-name>
이 명령어로 현재 실행 중이거나 종료된 컨테이너의 로그를 확인할 수 있습니다.
2.2. 로그 출력 제어
- 마지막 n줄 확인: 특정 컨테이너 로그의 마지막 몇 줄만 보고 싶다면, --tail 옵션을 사용할 수 있습니다.
docker logs --tail 100 <container-id or container-name>
- 실시간 로그 스트리밍: -f 옵션을 사용하면 로그를 실시간으로 모니터링할 수 있습니다.
docker logs -f <container-id or container-name>
3. 로그 관리 및 회전 설정
Docker 로그가 무한정 쌓이면 디스크 공간을 많이 차지할 수 있습니다. 이를 방지하기 위한 로그 회전 설정 방법을 설명합니다.
3.1. 로그 회전 설정 (json-file 로그 드라이버 사용 시)
Docker Compose를 사용할 경우, 다음과 같이 로그 회전 설정을 할 수 있습니다.
logging:
driver: "json-file"
options:
max-size: "10m" # 로그 파일의 최대 크기를 10MB로 제한
max-file: "5" # 최대 5개의 로그 파일을 보관
4. 도커 로그 위치 확인하기
4.1. 명령어
컨테이너의 로그 파일 위치를 확인하려면 다음 명령어를 사용합니다.
docker inspect <container-id or container-name>
4.2. 도커 데스크탑
도커 데스크탑을 통해도 로그 파일 위치를 쉽게 확인할 수 있습니다.
5. 도커 데이터 진입
도커 데이터에 접근하려면 다음과 같은 명령어를 사용합니다.
docker run -v /:/data -it ubuntu /bin/bash
chroot /data
cd /var/lib/docker
6. 용량확인
로그 파일 용량을 확인하려면 다음 명령어를 사용합니다.
du -h *
7. Docker Compose 설정 후 빌드하기
아래는 Docker Compose 파일의 예시로, 로그 회전 설정을 포함하고 있습니다.
version: '3.8'
services:
lotto-batch:
image: lotto-batch
build:
context: .
dockerfile: Dockerfile
environment:
- SPRING_PROFILES_ACTIVE=prod
- TZ=Asia/Seoul
ports:
- "10020:10020"
volumes:
- D:/DOCKER/lotto:/tmp
container_name: lotto-batch
restart: always
deploy:
resources:
limits:
memory: 1G
reservations:
memory: 256M # 최소 보장 메모리
logging:
driver: "json-file"
options:
max-size: "5m" # 로그 파일 최대 크기 5MB로 제한
max-file: "2" # 최대 2개의 로그 파일 보관
8. 확인
로그 회전 설정이 적용되지 않은 경우와 설정이 적용된 경우의 차이를 확인할 수 있습니다. 설정이 완료된 후에는 로그의 크기를 효과적으로 관리할 수 있어 디스크 공간을 절약할 수 있습니다.
* 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'dev > 기타' 카테고리의 다른 글
MariaDB "ERROR at line 1: Unknown command '-'" 오류 해결하기 (3) | 2024.11.02 |
---|---|
Nginx 윈도우에서 무료 SSL 발급받기 (win-acme 활용) (1) | 2024.10.12 |
Nginx 서버에 내도메인.한국 도메인 연결하기(윈도우) (3) | 2024.10.11 |
Nginx를 윈도우 서비스로 등록하는 방법 (4) | 2024.10.09 |
Docker Stats로 리소스 모니터링하는 방법 (2) | 2024.10.04 |