Vorgang zur Zeitzonenanpassung im Docker-Container

Vorgang zur Zeitzonenanpassung im Docker-Container

Wie kann ich überprüfen, ob die Zeitzone des Docker-Containers mit der des Host-Computers übereinstimmt?

1. Rufen Sie den Hostcomputer auf und führen Sie den folgenden Befehl aus:

# Überprüfen Sie die Hostzeit

[root@localhost ~]# Datum

Mittwoch, 27. Juni 2018 22:42:44 CST

2. Betreten Sie den Container und führen Sie den folgenden Befehl aus

# Containerzeit anzeigen

root@lksjoid909090:/#Datum

Mi., 27. Juli 2018, 14:43:31 UTC

CST sollte sich beziehen auf (China Shanghai Time, Eastern Time Zone 8)

UTC sollte sich beziehen auf (Koordinierte Weltzeit, Standardzeit)

Es zeigt sich, dass zwischen ihnen ein Abstand von 8 Stunden besteht und die Zeitzone des Hostcomputers und des Docker-Containers nicht übereinstimmt.

Lösung:

1. [Bevor das Image erstellt wird] Das Basisimage legt die Zeitzone im Dockerfile fest:

ENV TZ=Asien/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

2. [Nachdem das Image generiert wurde und der Container nicht erstellt wurde] Beim Erstellen und Starten des Containers:

# Gemeinsam genutzte Hosting-Zeit

docker run --name <name> -v /etc/localtime:/etc/localtime:ro …

3. [Nachdem das Image generiert und der Container gestartet wurde] Ändern Sie außerhalb des Containers auf dem Hostcomputer:

docker cp /etc/localtime [Container-ID oder NAME]:/etc/localtime

4. [Nachdem das Bild generiert und der Container gestartet wurde] Im Container

apk tzdata hinzufügen

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/timezone

Zusatzwissen: Fehler beim Docker-Befehl während der Verbindung: Get http://2F2F.2Fpipe2Fdocker_engine/v1.36/containers/json: open//.

Beim Ausführen von Docker PS tritt ein Fehler auf

Fehler beim Verbinden: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.36/containers/json: open //./pipe/docker_engine: Das System kann die angegebene Datei nicht finden. In der Standard-Daemon-Konfiguration unter Windows muss der Docker-Client mit erhöhten Rechten ausgeführt werden, um eine Verbindung herzustellen. Dieser Fehler kann auch darauf hinweisen, dass der Docker-Daemon nicht ausgeführt wird.

Die Fehlermeldung lautet:

Problemumgehung

1. Führen Sie den Befehl aus:

Docker-Maschine - Umgebungsstandard

2. Methode 1:

Den angezeigten Befehl kopieren und ausführen

Führen Sie nach der Ausführung Befehle wie Docker PS aus und Sie können es normal verwenden

3. Methode 2:

Nur der letzte Satz

REM @FOR /f "tokens=*" %i IN ('Docker-Machine-Umgebungsstandard') DO @%i

Entfernen Sie REM aus dem Befehl und führen Sie es aus.

@FOR /f "tokens=*" %i IN ('Docker-Machine-Umgebungsstandard') DO @%i

Nach der Ausführung kann der Docker-Befehl normal verwendet werden. Jedes Mal, wenn Sie ein neues Cmd-Fenster öffnen, müssen Sie zuerst die Umgebungsvariablen festlegen.

Hinweis: Wenn Sie Methode 2 in einem Bat-Skript verwenden, führt das direkte Einfügen der FOR-Anweisung in das Bat-Skript zu einem Fehler. Ändern Sie das %i im Befehl in %%i.

Der obige Vorgang zur Zeitzonenanpassung des Docker-Containers ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Docker-Zeitzonenproblem und Datenmigrationsproblem
  • So gehen Sie mit Zeitzonenproblemen in Docker um
  • Der erstellte Docker-Container: Zeitanzeigefehler/Datumsfehler/Zeitzonenfehler
  • Detaillierte Erläuterung zum Ändern der Docker-Zeitzone und allgemeiner Docker-Befehle
  • So lösen Sie das Problem der Zeitzone und Zeitsynchronisierung des Docker-Containers
  • Der Unterschied zwischen zwei Möglichkeiten zum Erstellen eines Docker-Images und Starten des Containers (Zusammenfassung)
  • Problem mit Zeitzonenfehler im Docker-Container

<<:  So führen Sie eine reibungslose if-Beurteilung in js durch

>>:  MySQL erhält das aktuelle Datum und die aktuelle Uhrzeit Funktionsbeispiel detaillierte Erläuterung

Artikel empfehlen

Einfaches Tutorial zu den Firewall-Einstellungen unter Ubuntu 20.04 (Anfänger)

Vorwort In der heutigen, immer bequemeren Interne...

Das WeChat-Applet implementiert das Schlangenspiel

In diesem Artikel wird der spezifische Code des W...

Tutorial zum binären Suchbaumalgorithmus für JavaScript-Anfänger

Inhaltsverzeichnis Was ist ein binärer Suchbaum (...

Standardmäßige Stilanordnung von HTML4.0-Elementen

Code kopieren Der Code lautet wie folgt: html, Ad...

Implementierung der virtuellen React-Liste

Inhaltsverzeichnis 1. Hintergrund 2. Was ist eine...

Docker löst das Problem, dass das Terminal kein Chinesisch eingeben kann

Vorwort: Eines Tages baute ich einen MySQL-Dienst...

Zusammenfassung der MySQL-Zeitstatistikmethoden

Beim Erstellen von Datenbankstatistiken müssen Si...

Docker-Reinigungskiller/Docker-Overlay-Datei nimmt zu viel Speicherplatz ein

[Wenn ich mir all die Migrationsdateien im Intern...

Oberflächliches Webdesign

<br />Ich war schon immer der Meinung, dass ...

Zusammenfassung der Anwendung von Übergangskomponenten in Vue-Projekten

​Transtion in Vue ist eine Kapselungskomponente f...