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

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

Linda Hamilton
發布: 2024-11-24 02:42:09
原創
871 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板