介绍
这篇文章主要介绍了码头工人高山镜像时区问题怎么解决,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
最近在使用码头工人部署Java应用时发现时区不对,使用jdk获取当前时间慢8个小时用的是标准时区
解决方法:
方案1。修改Dockerfile
设置高山linux系统时区查找高山linux的文档得知可以通过tzdata包来设置时区,在构建码头工人镜像的时候,Dockerfile加上这句话:
RUN apk ——update add tzdata ,, \ ,,,cp /usr/share/zoneinfo/亚洲/Shanghai /etc/localtime ,, \ ,,,echo “亚洲/Shanghai",祝辞,/etc/timezone ,, \ ,,,apk del tzdata ,, \ ,,,rm -rf /var/缓存/apk/*
完整的Dockerfile
得到openjdk: 8-jre-alpine3.9 RUN apk ——update add  tzdata ,, \ ,,,cp /usr/share/zoneinfo/亚洲/Shanghai /etc/localtime ,, \ ,,,echo “亚洲/Shanghai",祝辞,/etc/timezone ,, \ ,,,apk del tzdata ,, \ ,,,rm -rf /var/缓存/apk/* #,copy 从而,packaged jar file into our docker 形象 COPY application.jar /application.jar
文档链接:
wiki.alpinelinux.org/wiki/Settin…
方案2。设置JVM的系统默认时区
在启动码头工人镜像的时候,通过设置用户。时区JVM环境变量来设置时区
java -jar -Duser.timezone=亚洲/Shanghai app.jar
方案3。将宿主机的时区文件挂载进码头工人容器中
集群方案用的是美丽,部署时将宿主机的时区文件挂载进码头工人容器中
apiVersion:应用程序/v1 :部署 元数据: 名称:才能SERVICE_NAME 规范: 副本才能:1 选择器:才能 ,,,matchLabels: ,,,,,的应用:SERVICE_NAME 模板:才能 ,,,元数据: ,,,,,标签: ,,,,,,,的应用:SERVICE_NAME ,,,规范: ,,,,,的容器: ,,,,,今天早上,名字:SERVICE_NAME ,,,,,,,图片:IMAGE_TAG ,,,,,,,imagePullPolicy:总是 ,,,,,,,港口: ,,,,,,,今天早上,containerPort: 80 ,,,,,volumeMounts: ,,,,,,,今天早上,名字:tz-config ,,,,,,,,,mountPath:/etc/本地时间 ,,,,,卷: ,,,,,今天早上,名字:tz-config ,,,,,,,hostPath: ,,,,,,,,,,路径:,/etc/localtime
查看是否正常运行
date - r
感谢你能够认真阅读完这篇文章,希望小编分享的“码头工人高山镜像时区问题怎么解决”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!