В программе Go я вызываю time.LoadLocation("Europe/Berlin")
, и она возвращает сообщение об ошибке open /usr/local/go/lib/time/zoneinfo.zip: no such file or directory
, хотя в контейнере (работает alpine:3.9
с установленным tzdata) /usr/share/zoneinfo/Europe/Berlin
существует и, согласно docs, должен иметь приоритет над zip-файлом. Эта же программа находит файл на моей машине (Arch Linux). Исполняемый файл был статически связан на моей машине, а затем скопирован в контейнер. Пробовал Go 1.11.5 и 1.10.3.
Я построил исполняемый файл с помощью:
CGO_ENABLED=0 go build -a -ldflags "-s" -o gocake_static
Я ищу любые идеи, которые помогут мне определить проблему.
ZONEINFO
в контейнере, и если да, то каково ее значение? - person mkopriva   schedule 14.02.2019ZONEINFO
, похоже, не имеет значения. Я попытался установить его на/usr/share/zoneinfo
. - person rausch   schedule 14.02.2019tzdata
установлен? (В официальных образах Ubuntu его нет). - person kostix   schedule 14.02.2019go:1.11.5
иalpine:3.9
с установленнымtzdata
. Я собрал двоичный файл (GOOS=linux
GOARCH=amd64
CGO_ENABLED=0
) на Mac и поместил его в альпийский контейнер. Я не устанавливал переменнуюZONEINFO
. Существуют ли другие переменные env, которые могут вызвать проблему? - person Hunsin   schedule 15.02.2019