time.LoadLocation正常运行,但是在我的docker实例上抛出错误!我如何解决它?

时间:2020-02-06 20:45:28

标签: docker go alpine

time.LoadLocation正常工作,但是在我的Docker实例上抛出错误!我该如何解决?

我跑了

t, err := time.LoadLocation("America/New_York")

,即使它在我的计算机和play.golang.org(https://play.golang.org/p/4VHlaku26T3)上正常运行,它也会返回错误

但是,当我在docker实例上运行它时,我收到了返回错误unknown time zone America/New_York

为什么它没有检测到我请求的时区?

1 个答案:

答案 0 :(得分:7)

Linux Alpine没有本地内置的时区信息。 您需要更新Dockerfile以获得该信息。

并将命令apk --no-cache add tzdata添加到RUN行

例如,对我来说,我的一行看起来像下面的

RUN apk update && apk add bash && apk --no-cache add tzdata

这为我解决了这个问题。