首頁 >後端開發 >Golang >如何修復 Dockerized Go 應用程式中的「沒有這樣的檔案或目錄」zoneinfo.zip 錯誤?

如何修復 Dockerized Go 應用程式中的「沒有這樣的檔案或目錄」zoneinfo.zip 錯誤?

Linda Hamilton
Linda Hamilton原創
2024-11-24 02:42:09831瀏覽

How to Fix

解決Docker 化Go 應用程式中的時區錯誤

將Docker 容器應用程式部署到Kubernetes 引擎時,出現與zoneinfo 相關的「沒有此類檔案或目錄」的錯誤.zip可以

原因:

此錯誤源自於部署的容器上缺少時區資訊檔案 (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 

以上是如何修復 Dockerized Go 應用程式中的「沒有這樣的檔案或目錄」zoneinfo.zip 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn