1、容器运行时修改内部时区
# 进入容器
docker exec -it containerId /bin/bash
# 查看时区 cst为北京时间,utc(默认)是0时区的时间,两者相差8小时;
date
# 容器内部直接执行如下指令
cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2、运行时修改docker时区
# 宿主机执行
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# docker run 执行
-v /etc/localtime:/etc/localtime -v /etc/localtime:/etc/timezone
3、打包镜像时,在dockerfile中加入如下指令:
# 指定时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone \
Q.E.D.