TZ环境变量
关于apline镜像时区指定Asia/Shanghai,但仍是UTC时间的问题。
为了解决时区的问题,在国外的服务deployment.yaml增加如下配置
env:
- name: TZ
value: Etc/UTC
在国内的服务deployment.yaml增加如下配置
env:
- name: TZ
value: Asia/Shanghai
遇到问题:
在国内服务的容器内时区变成UTC时间了。为什么?去掉TZ环境变量后恢复成CST。
经过排查发现,原来在制作镜像时删除了tzdata导致的。
ENV TZ Asia/Shanghai
RUN apk add tzdata && cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && apk del tzdata
解决办法:
- 不删除tzdata
ENV TZ Asia/Shanghai
RUN apk add tzdata && cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
- 指定setup-timezone
ENV TZ Asia/Shanghai
RUN apk add alpine-conf && /sbin/setup-timezone -z Asia/Shanghai && apk del alpine-conf
- 不设置TZ环境变量
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone && apk del tzdata