Docker化されたGoアプリケーションで「そのようなファイルまたはディレクトリはありません」というzoneinfo.zipエラーを修正する方法?

Linda Hamilton
リリース: 2024-11-24 02:42:09
オリジナル
819 人が閲覧しました

How to Fix

Docker 化された Go アプリケーションのタイムゾーン エラーの解決

Docker コンテナ アプリケーションを Kubernetes エンジンにデプロイすると、zoneinfo に関連して「そのようなファイルまたはディレクトリはありません」というエラーが表示される.zip 缶raise.

原因:

このエラーは、デプロイされたコンテナーにタイムゾーン情報ファイル (zoneinfo.zip) がないことが原因で発生します。

解決策:

Go アプリケーションにタイムゾーン データベースを埋め込んで削除するには外部アクセスが必要な場合は、次の点を考慮してください:

Go 1.15 以降の使用:

  • time/tzdata パッケージをインポートするか、-tags timetzdata を使用してビルドします。
  • このアクションにより、タイムゾーン データベースがプログラムに埋め込まれ、そのサイズが約 800 増加します。 KB.

警告:

アプリケーション内にタイムゾーン データを埋め込むと、ビルドに使用された Go バージョンに基づいてタイムゾーン情報バージョンの更新が制限されます。

代替ソリューション(推奨):

Go バージョンとは独立してタイムゾーン情報を更新できる機能を保持するには、次のことを検討してください。

  • Docker イメージ内にzoneinfo.zip ファイルを含める
  • イメージの作成中にタイムゾーン データベースをダウンロードして抽出するコマンドを Dockerfile に追加します。
  • の場合例:
RUN set -x \
   && curl -sSL http://mirrors.gigenet.com/pub/timezone/data/latest/zoneinfo.zip \
   && unzip -p zoneinfo.zip > /usr/share/zoneinfo.zip 
ログイン後にコピー

以上がDocker化されたGoアプリケーションで「そのようなファイルまたはディレクトリはありません」というzoneinfo.zipエラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート