运行着 springboot 微服务的 docker 容器,内部系统时间不正确,如何解决

运行着 springboot 微服务的 docker 容器,内部系统时间不正确,如何解决

1 个解决方案

AllenJiang
中间件研发,关注微信公众号 : 小哈学Java, 回复"666", 即可免费领取10G学习&面试资料

修改 springboot 的 Dockerfile, 添加:

RUN echo "Asia/Shanghai" > /etc/timezone;

将 container 内的系统时间指定为上海时区:

具体 Dockerfile 脚本如下:

# FROM 指定使用哪个镜像作为基准
FROM openjdk:8-jdk-alpine
# VOLUME 为挂载路径  -v
VOLUME /tmp
# 复制文件到镜像中
COPY qms-1.0.0-SNAPSHOT.jar app.jar
# 指定容器内的时区
RUN echo "Asia/Shanghai" > /etc/timezone;
# ENV 为设置环境变量
ENV JAVA_OPTS=""
# ENTRYPOINT 为启动时运行的命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar"]