DockerFile指定时区
dockerfile指定时区:
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
当我们在初学docker时经常会发现,容器启动后服务器或日志时间经常是慢8小时,这个其实就是由于未指定时区的问题。根据不同场景,我们可以在docker-compose配置、dockerfile、java启动命令、数据库连接地址等不同地方指定时区。以上即为直接在dockerfile指定时区的方法。
完整示例:
# 基础镜像
FROM mysql:8.0.33
# author
MAINTAINER smaple
# 定义工作目录
ENV WORK_PATH /usr/local/mysql
# 添加sql脚本
ADD ./db/*.sql $WORK_PATH/
# 添加init_db.sh可执行文件
ADD ./db/init_db.sh /docker-entrypoint-initdb.d/
# 给可执行文件增加可执行权限
RUN chmod a+x /docker-entrypoint-initdb.d/init_db.sh
# 指定时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
(完)