스프링부트 프로젝트를 배포했는데, 타임스탬프 출력시 UTC로 자꾸 출력이 되는 걸 확인할 수 있었다.
무엇이 문제일까 고민하는 과정에서 여러가지를 시도해보았다.
위와 같은 코드를 main함수와 같은 레벨에 작성해봤는데, 개발 환경에서는 문제없었으나 운영 환경에서는 여전히 UTC를 사용하고 있었다.
리눅스 서버의 타임존을 KTC로 변경해도 마찬가지로 UTC의 시간이 출력되었다.
하지만 필자의 운영서버는 위의 그림과 같이 구성되고 있다. 스프링부트의 타임존을 변경하든 리눅스의 타임존을 변경하든, Docker Container를 이용하고 있기 때문에 타임존은 그대로 UTC였던 것을 확인할 수 있었다.
이를 해결하기 위해 docker-compose.yml파일의 스프링부트 environment부분에서 TZ을 위의 그림과 같이 설정했더니 해결되었다!
'Dev > Docker' 카테고리의 다른 글
[Docker] Dockerfile의 COPY와 리눅스 cp의 차이 (0) | 2023.05.09 |
---|---|
[Docker] Jasypt 이용해 암호화시 docker-compose.yml에 .env파일로 변수관리 하기 (0) | 2022.06.01 |
[Docker] Docker 바인드마운트 사용해 파일 저장하기(vs 볼륨마운트) (0) | 2022.04.18 |
[Docker] Docker(도커)란? 도커가 나오게 된 배경은? (0) | 2022.01.04 |