1. centos 7
转载自:https://www.cnblogs.com/zhangeamon/p/5500744.html
查看时区: timedatectl
$timedatectl status Local time: 四 2014-12-25 10:52:10 CST Universal time: 四 2014-12-25 02:52:10 UTC RTC time: 四 2014-12-25 02:52:10 Timezone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
# timedatectl list-timezones # 列出所有时区
# timedatectl set-local-rtc 1 # 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间
# timedatectl set-timezone Asia/Shanghai # 设置系统时区为上海
其实不考虑各个发行版的差异化, 从更底层出发的话, 修改时间时区比想象中要简单:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. 使docker内时区和本地(local)时区一致,有下列几种方法
a) 已经启动了docker container, 手动修改
# 进入docker内部修改 echo "Asia/shanghai" > /etc/timezone; # 退出docker container docker cp /usr/share/zoneinfo/Asia/Shanghai <name/ID>:/etc/localtime
b) 在写docker file时,增加下面语句
# CentOS RUN echo "Asia/shanghai" > /etc/timezone; # Ubuntu RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
c) 在启动docker container 时后增加-v部分
docker run --name mysqldb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 -v /etc/localtime:/etc/localtime:ro