TIL - Docker 타임존 설정
Docker timezone 문제
벌써 container에 작업환경을 구성하고 즐거운 코딩 생활을 이어간지는 좀 되었다.
드디어 내가 원하던 mysql 명령어도 모르는 바보 host 맥북 완성
그러나 오늘 한가지 문제점을 알게 되었는데,
바로 timezone이 host와 다르게 Asia/Seoul이 아니라는 것이다.
사실 따지고 보면 시간대와 관련된 설정을 해준적이 없었기에(못난 아비라 미안하다...!) 당연한 결과였지만 진성 한국인이라 저런 timestamp column마저 한국 시간대로 작성되면 좋겠다고 생각한 나는(nest start --watch
에서의 로그마저도 시간대가 한국 시간대가 아니다) 이 문제를 해결할 방법들을 찾아나섰다.
run 명령어와 함께 timezone 설정
이 방법은 container를 run 시킬때 timezone 설정을 같이 부여하는 방법으로
docker run -it --name ubuntu -v /etc/localtime:/etc/localtime ubuntu
와 같이 -v
옵션으로 호스트의 /etc/localtime
을 공유해 시간대를 공유하는 방식이다.
그러나 나는 이미 container가 돌아가고 있는 상태였고, commit
해서 모든 데이터를 보존할 수 있지만 다시 run 시키기 너무 귀찮아서 스킵했다. 또한 run 시킬때 최소한의 옵션들만 부여하고 싶었기에도 사용하지 않은 방법이다.
tzdata 사용하기
이 방법이 내가 적용한 방법인데, 그냥 간단하게 tzdata
를 설치해 timezone을 잡아주는 방식이다.
방법도 상당히 간단한데,
apt-get update
apt-get install tzdata
export TZ=Asia/Seoul
이 3줄의 명령어가 끝이다.
이로써 나의 로그들도 정상적인 시간대로 돌아왔고, mysql의 timestamp column들의 값도 제자리를 찾을 수 있었다.
Author And Source
이 문제에 관하여(TIL - Docker 타임존 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eslerkang/TIL-Docker-타임존-설정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)