본문 바로가기
Infra/Docker

[Docker] MySQL에 LocalDateTime을 UTC가 아닌 KST로 적용하기

by psihyeong 2023. 5. 24.

- Spring 프로젝트에 created, modified time을 LocalDateTime 형식으로 관리했다.

- Mysql에 insert 되면 created에 배포된 서버의 현재시간이 저장되는데 UTC로 적용이돼서 KST로 바꿔야 했다.

 

sol 1.

EC2 서버시간 한국시간으로 설정하는 방법

rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

- EC2 서버시간을 한국시간으로 설정해도 Spring은 LocalTime을 UTC로 인식했다.

 

 

sol 2.

dockerfile로 도커 컨테이너를 실행할 때 도커 timezone을 변경하는 방법

dockerfile에 아래 코드 추가

RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && echo Asia/Seoul > /etc/timezone

- 스프링 프로젝트가 도커 이미지로 빌드되어 도커 컨테이너에서 실행되기 때문에 도커 timezone을 변경해봤다. LocalTime을 KST로 잘 인식한다.

 

 

Reference

https://seongmin.dev/setting-up-docker-container-timezone