一、 概述
通过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"]
时区设置:文章来源:https://www.toymoban.com/news/detail-629676.html
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
对于linux ln 命令不熟的小伙伴可以参考此文 :Linux 操作命令之 ln 命令文章来源地址https://www.toymoban.com/news/detail-629676.html
到了这里,关于Docker之 Dockerfile 时区设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!