在Docker容器中找不到/ usr / share / zoneinfo

问题描述 投票:2回答:1

在Go程序中,我调用time.LoadLocation("Europe/Berlin"),即使在容器中(安装了tzdata的情况下运行open /usr/local/go/lib/time/zoneinfo.zip: no such file or directory,并且存在alpine:3.9,并且根据/usr/share/zoneinfo/Europe/Berlin,它应该优先于zip文件。同一程序在我的计算机上找到文件(Arch Linux)。可执行文件在我的机器上被静态链接,然后复制到容器中。我尝试了Go 1.11.5和1.10.3。

我用以下命令构建了可执行文件:

docs

我正在寻找可以帮助我确定问题的任何想法。

go alpine zoneinfo
1个回答
0
投票

如果仅使用一个静态zoneinfo。也许CGO_ENABLED=0 go build -a -ldflags "-s" -o gocake_static 可以解决您的问题。

它不需要timezone.zip,因此不需要下载FixedZone并在Dockerfile中设置env zoneinfo.zip

例如

ZONEINFO
© www.soinside.com 2019 - 2024. All rights reserved.