Docker Logausgabe/Protokoll hat falsche Zeitzone

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

dojo

Benutzer
Registriert
14. Dez. 2016
Beiträge
71
Reaktionspunkte
9
Punkte
8
Hallo zusammen,

wenn ich mir die Logausgabe bzw. das Protokoll meiner Docker Container anschaue, dann hab ich dort die falsche Uhrzeit bzw. Zeitzone. Gehe ich direkt in meinen Container und lass mir die aktuelle Uhrzeit ausgeben, so passt das alles. Muss ich noch irgendwo auf der Synology eine Zeitzone einstellen damit die Log/Protokollausgabe auch die richtige Zeitzone bekommt? Ich habe das Problem bei allen Containern.

2019-01-28 11_21_48-Tresor001 - Synology DiskStation.jpg
2019-01-28 11_22_40-Tresor001 - Synology DiskStation.jpg
2019-01-28 13_25_35-Tresor001 - Synology DiskStation.png

Edit: Screenshot Umgebungsvariablen hinzugefügt

Danke
Gruß
 
Zuletzt bearbeitet:
ah, sorry, hatte die Seite längere Zeit offen :-)

das Phänomen habe ich auch. Ist mir nie aufgefallen da im Container alles OK ist. Sucht man im Web findet man aber einige Artikel dazu.
Meine Vermutung das Docker die Zeit als UTC behandelt.
 
Zumindest bei der Syno sind sie in UTC. Könnte auch am selbstentwickelten DB Logging driver liegen.
Ich bin mir sicher, dass die Logausgabe unserer selbst entwickelten Images auf der Arbeit (auf RHEL) unserer Zeit entsprechen.

Übrigens klappt der Trick mit TZ nur, wenn der Autor das entsprechende Tool auch in das Image gepackt hat. Das ist nicht immer der Fall...
 
  • Like
Reaktionen: Stationary
Zuletzt bearbeitet von einem Moderator:
Möchte dieses Thema nochmal aufgreifen:
Auch ich habe das Problem, dass im Logfile des Dockers eine falsche Uhrzeit angezeigt wird.
Im Container selbst passt die Zeit, da ich auch die TZ-Variable gesetzt habe.

Im konkreten Fall geht es bei mir darum, dass ich einen ConBee-USB-Stick über einen Container laufen lasse. An dem Conbee hänen Sensoren, die dann aber leider die falsche bzw. Uhrzeit des Logfiles ausgeben und nicht etwa die richtige Uhrzeit.

Also: Jemand ne Idee, wie man die Uhrzeit des Dockers (also nicht die der Container) ändern kann?
 
Hmm, eignetlich sollten die Logs in UTC sein.
Das neue "fix" schlägt bei mir aber tatsächlich mitlerweile auch eine Stunde auf, so dass das Log in der Zukunft läuft, aber der Container im jetzt. Merkwürdig.

Das Problem ist ein Problem des Syno Logging-Treibers. Ich bezweifle, dass dieses Problem im Container behoben werden kann.
 
Zuletzt bearbeitet:
Möchte das Thema nochmal aufrollen. Gibt es hierfür schon eine Lösung.
 
ich schließe mich der Frage an, das Problem mit der Protokoll Zeit besteht immer noch (bei mir um 1 Stunden nach).
 
Hast du es schon einmal mit diesen Arguments versucht?

-v /etc/localtime:/etc/localtime:ro
-v /etc/TZ:/etc/timezone:ro
 

Hallo,


in Ihrem Screenshot ist die Zeit sowohl lokal als auch im Dockercontainer identisch. Bitte stellen Sie die Zeitzone im Container auf UTC/Localtime, ohne Landesabweichungen zu konfigurieren, es sollte dan die korrekte Zeit von DSM übernomme nwerden.


Ich hoffe, ich konnte Ihnen weiter helfen und stehe Ihnen für weitere Fragen gerne zur Verfügung.



Schöne Grüße
leider verstehe ich nicht was er meint
 
Kann das überhaupt jeder Container? Dazu muss der Container die entsprechende Environment Variable bereitstellen, auslesen können, oder?
 
in meinem fall Nextcloudpi habe aber die TZ auf Europe/Berlin gestellt.
Im Docker stimmt die Zeit.
 
Ich habe natürlich gleiches Problem in der Logausgabe des jeweiligen Containers, hat mich bisher aber nicht unbedingt gestört.
Jedoch konnte ich es ebenfalls nicht lösen auch nicht durch diverse TZ Angaben beim Start von Containern. Kann aber auch sein, dass ich mich zu blöd angestellt habe und nach wie vor bin ich der Meinung dass ein Container auch mit TZ Variablen umgehen können muss.
 
Das Problem besteht immer noch.
Zumindest wird bei mir im Protokoll selbst die richtige Zeit angezeigt.

Unbenannt.PNG
 
Das Protokoll von docker selber (also das was hier im Protokoll angezeigt wird, bzw. auch das was man mit docker logs bekommt) ist Stand heute immer in UTC. Das ist nicht änderbar. Hat also nichts mit Synology zu tun.

Siehe zB. auch hier

Wollte mir das heute auch mal ansehen, da ich grundsätzlich meine Zeit in CET hatte, aber eben das Log "nur" in UTC war. Geht leider nicht anders.
 
Normalerweise sehen meine Logs auf einem Nicht-Syno Docker bei mir so aus:
Code:
2022-01-04 19:35:11.196  INFO --- [http-nio-0.0.0.0-5] o.n.searching.IndexerForSearchSelector ...
Jeder Container, in dem die Anwendung das Datum mitloggt und in dem TZ gesetzt ist, sind die Ausgaben in CET:

Wenn man ´docker logs --timestamp ... verwendet, dann hast Du recht, der Timestamp ist tatsächlich in UTC:
Code:
2022-01-04T18:35:11.196761650Z 2022-01-04 19:35:11.196  INFO --- [http-nio-0.0.0.0-5] o.n.searching.IndexerForSearchSelector

Dann scheint Synology wohl auch einfach nur --timestamp zu verwenden.
Du hast Recht, dass Problem ist nicht der Syno-Logdriver, sondern das Synology sich nicht die Mühe gemacht hat, es beim Anzeigen im Client (hier also in der Docker-UI) in die lokale Zeit zu überführen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat