使用openjdk:8-jdk-alpine镜像常见问题

923 阅读1分钟
  1. JVM中时区是UTC,跟北京时间相差8小时。

修改JVM中时区的方法:
将以下代码添加到 Dockerfile 中
ENV TZ=Asia/Shanghai
以下面的Dockerfile为例:

FROM openjdk:8-jdk-alpine
ENV TZ=Asia/Shanghai
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} zjgf.jar
ENTRYPOINT ["java","-jar","/zjgf.jar"]
  1. 容器中的时区也是UTC,一般情况不影响使用,特殊情况下才需要修改容器时区。

修改docker容器中时区的方法:
将以下代码添加到 Dockerfile 中

RUN apk add tzdata \
  && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo "Asia/Shanghai" > /etc/timezone \
  && apk del tzdata

以下面的Dockerfile为例:

FROM openjdk:8-jdk-alpine
RUN apk add tzdata \
  && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo "Asia/Shanghai" > /etc/timezone \
  && apk del tzdata
ARG JAR_FILE=*.jar
COPY ${JAR_FILE} oa_deploy.jar
ENTRYPOINT ["java","-jar","/oa_deploy.jar"]