Methode: 1. Verwenden Sie den Befehl „docker run -name
-v“, um die lokale Zeit des Hosts freizugeben. 2. Verwenden Sie den Befehl „docker cp /etc/localtime:container ID/etc/localtime“, um die zu kopieren Ortszeit des Hosts.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.
Die Zeitzonen der beiden müssen vereinheitlicht werden.
Lokalzeit des gemeinsam genutzten Hosts (Methode 1)
Geben Sie beim Erstellen des Containers die Startparameter an, mounten Sie die Localtime-Datei im Container und stellen Sie sicher, dass die von beiden verwendeten Zeitzonen konsistent sind.
docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....
Kopieren Sie die Ortszeit des Hosts (Methode 2)
docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime
Überprüfen Sie nach Abschluss die aktuelle Uhrzeit mit dem Datumsbefehl.
Die Uhrzeit des im Container ausgeführten Programms wird jedoch möglicherweise nicht aktualisiert. Überprüfen Sie beispielsweise nach der Aktualisierung der Uhrzeit die MySQL-Zeit über sql
select now() from dual;
und Sie können die Uhrzeit ermitteln hat sich nicht geändert.
Zu diesem Zeitpunkt müssen Sie den MySQL-Dienst neu starten oder den Docker-Container neu starten, damit MySQL die geänderte Zeit lesen kann.
Erstellen Sie eine benutzerdefinierte Docker-Datei (Methode 3)
Erstellen Sie eine Docker-Datei. Tatsächlich gibt es keinen Inhalt. Es werden lediglich das Zeitformat und die Zeitzone des Bildes angepasst.
FROM redis FROM tomcat ENV CATALINA_HOME /usr/local/tomcat #设置时区 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone \
Verwenden Sie nach dem Speichern den Docker-Build-Befehl, um das Image zur Verwendung zu generieren.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die Containerzeit und die Hostzeit im Docker nicht synchronisiert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!