Woher beziehen Docker-Container ihre Zeitinformationen? Ich habe einige Container aus dem grundlegenden ubuntu: trusty-Image erstellt. Wenn ich es ausführe und das Datum abfrage, erhalte ich die UTC-Zeit.
Eine Weile lang habe ich das in meinem Dockerfile so umgangen:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
Aus irgendeinem Grund funktionierte das jedoch nicht mehr. Bei der Online-Suche habe ich die folgenden Vorschläge gesehen:
docker run -v /etc/timezone:/etc/timezone [image-name]
Beide Methoden stellen die Zeitzone korrekt ein!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Weiß jemand was das gibt?
-v /etc/localtime:/etc/localtime:ro
Arbeiten mit (CentOS). Das Befehlszeilendatum im Container gibt das Datum im erwarteten Zeitzonenformat zurück. ABER Jenkins, die im Container laufen, denken, dass die Zeitzone UTC ist. Warum? / etc / localtime ist ein Symlink zu ../usr/share/zoneinfo/UTC in einem erstellten Container. Der Inhalt der UTC-Datei im Container ist jetzt die neue Zeitzone. Aber Jenkins (und vielleicht auch andere Java-basierte Software) verwenden den Namen des Symlinks, der immer noch "UTC" ist. Auf der Suche nach einer Lösung. . .
Alpine
, müssen Sietzdata
zuerst installieren , siehe hier github.com/gliderlabs/docker-alpine/issues/136