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

So reduzieren Sie die Speicher- und CPU-Auslastung von Webseiten

<br />Einige Webseiten sehen nicht groß aus,...

Details zur Verwendung von JS-Array-Methoden some, every und find

Inhaltsverzeichnis 1. einige 2. jedes 3. finden 1...

So überwachen Sie den Linux-Serverstatus

Wir, insbesondere Linux-Ingenieure, haben täglich...

Implementierung der Änderung von Konfigurationsdateien im Docker-Container

1. Betreten Sie den Container docker run [Option]...

Reines CSS zum Ändern der Layoutgröße durch Ziehen nach links und rechts

Nutzen Sie die Funktion „Non- overflow:auto - res...

Detaillierte Schritte zum manuellen Konfigurieren der IP-Adresse in Linux

Inhaltsverzeichnis 1. Geben Sie zuerst das Konfig...

Zusammenfassung der schnellen Spaltenaddition bei MySQL 8.0 Online DDL

Inhaltsverzeichnis Problembeschreibung Historisch...

MySQL-String-Aufteilungsvorgang (String-Abfangen mit Trennzeichen)

String-Extraktion ohne Trennzeichen Fragenanforde...

CSS-Randüberlappungen und wie man sie verhindert

Die vertikal benachbarten Kanten zweier oder mehr...

Lösen Sie das Problem der Randzusammenführung

1. Die Ränder von Geschwisterelementen zusammenfü...

So konfigurieren Sie SSH für die Anmeldung bei Linux mit Git Bash

1. Generieren Sie zunächst die öffentlichen und p...

Einführung in die Überwachung des MySQL MHA-Betriebsstatus

Inhaltsverzeichnis 1. Projektbeschreibung 1.1 Hin...