1

現在、ローカル仮想マシンの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
4

1 に答える 1

1

@coderangerがコメント セクションで指摘したように、タイムゾーンの違いはOpenFaaS.
使用している画像によって異なりますが、ほとんどの画像はUTCタイムゾーンを使用しています。通常、これは問題になりませんが、特別なケースでは、このタイムゾーンを変更したい場合があります。

この記事で説明されているように、環境変数を使用しTZてコンテナーのタイムゾーンを設定できます (タイムゾーンを変更する方法は他にもあります)。

独自のがある場合は、 ENV命令をDockerfile使用してこの変数を設定できます。注:変数を設定するには、コンテナにパッケージをインストールする必要があります。
tzdataTZ

$ 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/Warsaw
于 2021-06-09T15:33:22.227 に答える