728x90
반응형
Docker 컨테이너에서 로그를 확인하다 보면 시간이 UC T기준으로 찍히는 경우가 많은데 운영 환경이 한국(KST) 기준이라면 로그 분석 시 매번 시간 변환을 해야 해서 변경을 해 줘야만 한다.
먼저 컨테이너 내부에서 tzdata를 설치 해 줘야 한다.
apt-get update && apt-get install -y tzdata위 명령어를 통해 설치를 하게 되면

타임존을 선택할 수 있는 창이 뜬다. 여기서 사용하고자 하는 타임존 나라, 도시를 선택하면 설치가 완료 된다.
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime이후 위 명령어로 위에서 선택한 시간대 파일을 시스템 기본 시간 설정 파일로 연결해 주면 컨테이너 시스템 시간을 위에서 설정한 시간 기준으로 동작하게 된다.
추가적으로 사용하는 스크립트 상단에 tZ 환경 변수를 지정해 줄 수도 있다
export TZ=Asia/Seoul
만약 컨테이너 시스템 시간은 그대로 두고 로그를 출력하는 시점에만 원하는 시간대로 지정하고 싶다면 bash 스크립트에서 로그함수를 별도로 정의해 주면 된다.
log() {
echo "[$(TZ=Asia/Seoul date '+%F %T')] $1" | tee -a "$LOG_FILE"
}이렇게 하면 시스템 전체 시간은 변경하지 않으며 로그 포맷만 KST로 맞추고 싶을 때 사용할 수 있고 간단한 스크립트 기반 운영 환경에서 유용하다.
728x90
반응형