Docker镜像:centos:centos6
情景:通过yum升级glibc后,容器内部通过date命令看到时区自动被篡改,从CST改成了GMT
分析:官方的centos:centos6镜像里的/etc/sysconfig/clock是这样的:
ZONE=”Europe/London”
UTC=True
当通过rpm或yum升级glibc时候,glibc会自动读/etc/sysconfig/clock文件,然后修改时区,通过将/usr/share/zoneinfo/xx/yy覆盖/etc/localtime。
规避方法有2种:
1. 升级glibc前确保/etc/sysconfig/clock是正确的,或者删掉/etc/sysconfig/clock,这样glibc就不会去动时区了
2. docker run -v /etc/localtime:/etc/localtime:ro