我有一个Go应用程序,已编译成二进制文件,并且作为Docker镜像进行分发。
目前,我使用的基础映像是ubuntu
,但这会导致一个问题,即如果用户尝试使用UTC或本地时区之外的时区,则会出现错误,提示:
pod error: panic: open /usr/local/go/lib/time/zoneinfo.zip: no such file or directory
这个错误是因为在Go语言中的LoadLocation包需要该文件引起的。
我可以想到两种方法来解决这个问题:
继续使用
ubuntu
基础镜像,但在我的Dockerfile文件中添加命令:RUN apt-get install -y tzdata
使用Golang的基础镜像之一,例如
golang:1.7.5-alpine
。
tzdata
包,则需要安装该包。您正在使用哪个镜像来构建二进制文件? - JimBgolang:1.7.5-alpine
容器进行构建来解决这个问题。 - Ayushubuntu
容器中安装tzdata
软件包,还是使用其中一个golang
容器。 - Ayush