バイナリに Zoneinfo.zip を埋め込む
「C:Go/lib/time/zoneinfo.zip を開く: no such」というエラーが発生するファイルまたはディレクトリ」を参照すると、コンテナ アプリケーションを Kubernetes Engine にデプロイするときに、タイムゾーンが欠落していることが示される場合があります
この問題を解決するには、次のアプローチを検討してください:
組み込み tzdata パッケージ (Go 1.15 以降)
Go 1.15 で導入されました/ tzdata パッケージ。タイムゾーン データベースを埋め込むことができます。 Program.
import _ "time/tzdata"
または、-tags timetzdata.
を使用してビルドすることもできます。どちらの方法でも、プログラムのサイズは約 800 KB 増加します。これにより、Kubernetes Engine でデータベースが利用できない場合でも、プログラムはタイムゾーン情報にアクセスできるようになります。
警告:
dolmen が指摘したように、このソリューションはタイムゾーン情報をリンクします。バージョンをビルドに使用した Go バージョンに変更します。 Go のバージョンを更新しても、タイムゾーン情報は更新されません。 Go バージョンとは別にタイムゾーン情報を更新する方が望ましいかもしれません。
以上がKubernetes にデプロイされた Go アプリケーションにタイムゾーン データベースを埋め込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。