我目前正在本地虚拟机的kubernetes集群上部署openfaas。我发现发布函数后容器启动的时区与宿主机不一致。我该如何解决这个问题?
[root@k8s-node-1 ~]# date
# Host time
2021年 06月 09日 星期三 11:24:40 CST
[root@k8s-node-1 ~]# docker exec -it 5410c0b41f7a date
# Container time
Wed Jun 9 03:24:40 UTC 2021发布于 2021-06-09 23:33:22
正如@coderanger在评论部分指出的那样,时区差异与OpenFaaS无关。
这取决于您使用的映像,大多数映像都使用UTC时区。通常这应该不是问题,但在某些特殊情况下,您可能想要更改此时区。
如本article中所述,您可以使用TZ环境变量来设置容器的时区(还有其他方法可以更改时区)。
如果您有自己的Dockerfile,可以使用ENV指令设置此变量:
注意: tzdata包必须安装在设置TZ变量的容器中。
$ cat Dockerfile
FROM nginx:latest
RUN apt-get install -y tzdata
ENV TZ="Europe/Warsaw"
$ docker build -t mattjcontainerregistry/web-app-1 .
$ docker push mattjcontainerregistry/web-app-1
$ kubectl run time-test --image=mattjcontainerregistry/web-app-1
pod/time-test created
$ kubectl exec -it time-test -- bash
root@time-test:/# date
Wed Jun 9 17:22:03 CEST 2021
root@time-test:/# echo $TZ
Europe/Warsawhttps://stackoverflow.com/questions/67897137
复制相似问题