Docker之 Dockerfile 时区设置

一、 概述

通过Dockerfile 文件可以编译镜像,但是在docker 容器里面经常会遇到时区设置问题,在此做个总结。

二、举例

例1:

Dockerfile 文件:

FROM fiadliel/java8-jre
VOLUME /tmp
ADD api_h5-0.1.jar  app.jar
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

时区设置:

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

例2:

Dockerfile 文件:

FROM nginx:1.17

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

COPY dist/  /usr/share/nginx/html/

COPY default.conf  /etc/nginx/conf.d/

时区设置:

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

例3:

Dockerfile 文件:

FROM openjdk:17
MAINTAINER Mr hou
ENV MYPATH /opt/webtopo_editor
ENV TIME_ZONE Asia/Shanghai
# 工作目录(docker内部目录)启动容器进入的就是这个目录
WORKDIR $MYPATH
# 创建工作目录
RUN mkdir -p  $MYPATH/logs $MYPATH/config $MYPATH/upload/svgs $MYPATH/temp
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
VOLUME $MYPATH

ADD webtopo-server-1.0.0.jar webtopo-server-1.0.0.jar
EXPOSE 8091
# 运行jar包
RUN bash -c 'touch webtopo-server-1.0.0.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","webtopo-server-1.0.0.jar"]

时区设置:

RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime

对于linux ln 命令不熟的小伙伴可以参考此文 :Linux 操作命令之 ln 命令

猜你喜欢

转载自blog.csdn.net/u014212540/article/details/130621865