320x100
320x100
개요
이게뭐약 프로젝트 수행 중 컨테이너 및 서비스 데몬을 통한 실행 상태에서 로그 파일이 증적이 되지 않음을 발견했다
개발하는 로컬 PC에서는 분명히 log가 쌓이는데, 이상하게 서비스 데몬이나 컨테이너 모드에서는 증적이 되지 않았었다
컨테이너에서 로그 증적하도록 호스트의 디렉터리와 마운트하는 방법
docker run -d \
-v /must_be_madness/what_is_pill/wip-main-server-v2/logs:/usr/local/wip-main-server-v2/logs \
--name wip-main-server-v2 wip-main-server-v2 \
중요한 점은 host에서의 위치와 컨테이너에서의 위치를 모두 절대경로로 선언해야한다는 것이다
Dockerfile에 VOULME 속성도 빼야한다 그걸 넣었을때는 안됐었다
서비스 데몬에서 로그증적하는 방법
systemctl cat 서비스 명
sudo vim 서비스 데몬 파일
# 아래 내용 추가
StandardOutput=file:/must_be_madness/what_is_pill/wip-main-server-v2/logs/main_server.log
StandardError=file:/must_be_madness/what_is_pill/wip-main-server-v2/logs/error.log
주의할점은 로그 디렉터리와 파일의 소유자를 서비스 데몬 파일에 선언된 User 및 Group과 동일하게 맞춰야한다는 것이다
cd 로그 파일이 위치한 디렉터리
sudo chown -R user:userGroup .
300x250
728x90
'Computer Science > Linux' 카테고리의 다른 글
리눅스 시스템 시간 변경 (0) | 2024.05.22 |
---|---|
WSL2 설치방법 (with 우분투) (0) | 2024.05.22 |
supervisorctl이란 무엇인가? - 도커 컨테이너 내에서 여러 프로세스 실행하기 (1) | 2024.02.17 |
리눅스 로그 로테이트 (logrotate) (0) | 2024.02.03 |
리눅스 JAVA 이전 버전 설치 및 버전 변경 방법 (0) | 2024.01.17 |