내 시간대를 CET 또는 유럽/베를린으로 변경할 수 없는 이유는 무엇입니까?
[[email protected] ~]# docker run -ti --rm debian:stretch bash
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC
root@b65a4b63c152:/# echo 'Europe/Berlin' > /etc/timezone
root@b65a4b63c152:/# cat /etc/timezone
Europe/Berlin
root@b65a4b63c152:/# dpkg-reconfigure -f noninteractive tzdata
Current default time zone: 'Etc/UTC'
Local time is now: Fri Mar 1 10:31:46 UTC 2019.
Universal Time is now: Fri Mar 1 10:31:46 UTC 2019.
root@b65a4b63c152:/# ls -l /usr/share/zoneinfo/Europe/Berlin
-rw-r--r-- 1 root root 2335 Dec 31 09:43 /usr/share/zoneinfo/Europe/Berlin
root@b65a4b63c152:/# echo $TZ
root@b65a4b63c152:/# date '+%Z %z'
UTC +0000
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC
답변1
컨테이너는 가상 머신이 아니며 자체 파일 시스템 및 네트워크 버블에서 실행되는 프로세스입니다. 일부 전역 시스템 설정은 호스트 시스템에서 상속됩니다. 컨테이너에서 실행 중인 프로세스의 시간대를 변경하려면 TZ 환경 변수를 설정하기만 하면 됩니다. 이는 자신만의 시간대를 갖는 표준 Unix 방식입니다(다른 시간대의 사용자 간에 공유할 수 있는 시스템에서).
>> docker run -it --rm debian bash
root@719d5f1d0999:/# date
Fri Mar 1 10:54:56 UTC 2019
root@719d5f1d0999:/# export TZ='CET'
root@719d5f1d0999:/# date
Fri Mar 1 11:55:19 CET 2019