Perfekte Lösung für das Zeitzonenproblem des Docker Alpine-Image

Perfekte Lösung für das Zeitzonenproblem des Docker Alpine-Image

Als ich kürzlich Docker zum Bereitstellen einer Java-Anwendung verwendete, stellte ich fest, dass die Zeitzone falsch war. Die Verwendung von JDK zum Abrufen der aktuellen Zeit war 8 Stunden langsamer als die Standardzeitzone.

Lösung:

Lösung 1. Dockerfile ändern

Stellen Sie die Zeitzone des Alpine Linux-Systems ein. Suchen Sie in der Dokumentation zu Alpine Linux nach Informationen dazu, wie Sie die Zeitzone über das tzdata-Paket einstellen können. Fügen Sie beim Erstellen des Docker-Images diesen Satz zum Dockerfile hinzu:

Führen Sie den Befehl apk --update add tzdata && \ aus.
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asien/Shanghai" > /etc/Zeitzone && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

Vollständiges Dockerfile

VON openjdk:8-jre-alpine3.9

Führen Sie den Befehl apk --update add tzdata && \ aus.
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asien/Shanghai" > /etc/Zeitzone && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

# kopiere die gepackte JAR-Datei in unser Docker-Image
KOPIEREN application.jar /application.jar

Dokumentlink:

wiki.alpinelinux.org/wiki/Einstellung…

Lösung 2. Legen Sie die Standardzeitzone des JVM-Systems fest

Legen Sie beim Starten des Docker-Image die Zeitzone fest, indem Sie die JVM-Umgebungsvariable user.timezone festlegen.

java -jar -Duser.timezone=Asia/Shanghai app.jar

Lösung 3. Mounten Sie die Zeitzonendatei des Hostcomputers in den Docker-Container

Die Clusterlösung verwendet K8S. Mounten Sie beim Bereitstellen die Zeitzonendatei des Hosts in den Docker-Container.

API-Version: Apps/v1
Art: Bereitstellung
Metadaten:
  Name: SERVICE_NAME
Spezifikation:
  Replikate: 1
  Wähler:
    Übereinstimmungsetiketten:
      App: SERVICE_NAME
  Vorlage:
    Metadaten:
      Beschriftungen:
        App: SERVICE_NAME
    Spezifikation:
      Behälter:
      - Name: SERVICE_NAME
        Bild: IMAGE_TAG
        imagePullPolicy: Immer
        Häfen:
        - ContainerPort: 80
      	Volumenhalterungen:
        - Name: tz-config
          Einhängepfad: /etc/localtime
      Bände:
      - Name: tz-config
        Hostpfad:
           Pfad: /etc/localtime

Überprüfen Sie, ob es normal läuft

Datum -R

Referenzdokumente:

quaded.com/docker-apli…

blog.csdn.net/jeikerxiao/…

Dies ist das Ende dieses Artikels zur Lösung des Zeitzonenproblems des Docker Alpine-Image. Weitere relevante Inhalte zur Zeitzone des Docker Alpine-Image finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Problemlösungsvorgänge für Alpine Docker-Bildschriftarten
  • Implementierung eines Tomcat-Images, das mit Dockerfile basierend auf Alpine erstellt wurde
  • Implementierung eines Crawler-Scrapy-Image, das von Dockerfile basierend auf Alpine erstellt wurde
  • So erstellen Sie ein php-nginx-alpine-Image von Grund auf in Docker

<<:  Beschreibung des hr-Tags in verschiedenen Browsern

>>:  Eine ausführliche Zusammenfassung der Überlegungen zu MySQL-Zeiteinstellungen

Artikel empfehlen

Eine kurze Analyse der Crontab-Aufgabenplanung in Linux

1. Erstellen Sie eine Planungsaufgabe Anweisung c...

Installieren Sie die MySQL5.5-Datenbank in einer CentOS7-Umgebung

Inhaltsverzeichnis 1. Prüfen Sie, ob MySQL auf de...

Verwenden Sie Iframe, um Wettereffekte auf Webseiten anzuzeigen

CSS: Code kopieren Der Code lautet wie folgt: *{Ra...

Detaillierte Erklärung des Parameters slave_exec_mode in MySQL

Heute habe ich zufällig den Parameter slave_exec_...

Vergleich der Leistung von int, char und varchar in MySQL

Im Internet kursieren viele scheinbar wahre „Gerü...

Einführung in die Generierung von Kubernetes-Zertifikaten mit OpenSSL

Kubernetes unterstützt drei Arten der Authentifiz...

HTML-Tipps, um Ihren Code semantisch zu gestalten

HTML-Semantik scheint ein alltägliches Problem zu...