[JAVA] So aktualisieren Sie eine vorgefertigte Datei in einem Docker-Container

Einführung

Dies ist der Inhalt der Untersuchung zum Aktualisieren der ausführbaren Datei, die als Einstiegspunkt im Docker-Container angegeben ist.

Hintergrund / Probleme

Bei der Entwicklung einer Webanwendung mit Java oder Kotlin ist es meines Erachtens üblich, einen Docker-Container für die Entwicklung einzurichten. Unten finden Sie einen Teil der Docker-Datei für den Container der Anwendungsebene.

FROM openjdk:8-jdk-alpine
COPY build/libs/application.jar application.jar
ENTRYPOINT  ["java", "-jar", "application.jar"]

Folgendes machen wir in der Datei: Zeile 1: Geben Sie das Basisbild an 2. Zeile: Kopieren Sie die vorgefertigte JAR-Datei (Ausführungsdatei) von der Hostseite (links) auf die Containerseite (rechts). Zeile 3: Richten Sie den Container-Startprozess ein (Ausführen der oben übergebenen JAR-Datei)

Die Anwendung wird ausgeführt, wenn der Ausführungsprozess des am letzten Einstiegspunkt angegebenen Befehls gestartet wird. Während der Entwicklung wird das Programm für jede Änderung neu erstellt. Das Ergebnis der Neuerstellung muss jedoch im Container angezeigt werden, damit die Änderungen in der tatsächlichen Anwendung angezeigt werden. Eine einfache Methode besteht darin, den erstellten Container anzuhalten, zu löschen und dann den Container neu zu erstellen / zu starten. Dies dauert jedoch einige Zeit (insbesondere das Neuerstellen des Containers).

Lösungen

Eine der Lösungen für das obige Problem ist wie folgt.

Lösung

  1. Überschreiben Sie die alte JAR-Datei im Container mit der neuen Datei (application-new.jar) für den laufenden Container.
docker cp build/libs/application-new.jar application.jar
  1. Starten Sie den Container neu (Containername: App).
docker restart app

Diese Methode erfordert keine Neuerstellung des Containers, sodass der Container in kürzerer Zeit aktualisiert werden kann.

Referenz

--docker offizielle Dokumentation http://docs.docker.jp/engine/reference/builder.html#from

Recommended Posts

So aktualisieren Sie eine vorgefertigte Datei in einem Docker-Container
So teilen Sie Dateien mit Docker Toolbox
Verwendung von Docker in VSCode DevContainer
[Docker] Kopieren Sie Dateien aus dem Docker-Container auf den Host
Verstehe in 5 Minuten !! Wie man Docker benutzt
So erhalten Sie einen Heapdump aus einem Docker-Container
Kopieren Sie Dateien vom Docker-Container auf den Host (Docker-CP).
So installieren Sie Docker
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
Wie kann ich IBM Mainframe-Dateien in Java eingeben / ausgeben?
So löschen Sie mit Docker Bilder ohne Tags in großen Mengen
Umgang mit TSV-Dateien und CSV-Dateien in Ruby
Syntaxen Markieren Sie eine Datei wie Dockerfile.production mit Pycharm
So starten Sie die Swagger-Benutzeroberfläche und den Swagger-Editor in Docker
So legen Sie Nginx von Docker fest
So aktualisieren Sie mit activerecord-import
Zurücksetzen der Migrationsdatei
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
[Docker] Zugriff auf den Host aus dem Container heraus. http: //host.docker.internal:
Wie man Lombok im Frühling benutzt
So finden Sie May'n in XPath
Einführung in Linux Container / Docker (Teil 1)
So blenden Sie die Bildlaufleiste in WebView aus
So führen Sie JUnit in Eclipse aus
Wie man in Ruby auf unbestimmte Zeit iteriert
Wie man Ant in Gradle ausführt
So erstellen Sie einen Java-Container
Wie man die Programmierung in 3 Monaten beherrscht
So zerlegen Sie eine Java-Klassendatei
So führen Sie JavaFX unter Docker aus
Wie man JAVA in 7 Tagen lernt
So erhalten Sie Parameter in Spark
So installieren Sie Bootstrap in Ruby
Einführung in Linux Container / Docker (Teil 2)
So dekompilieren Sie eine Java-Klassendatei
Verwendung von InjectorHolder in OpenAM
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So setzen Sie Lombok in Eclipse
Aktualisieren Sie MySQL mit Docker von 5.7 auf 8.0
So erstellen Sie CloudStack mit Docker
So starten Sie Camunda mit Docker
So verketten Sie Zeichenfolgen mit Java
So installieren Sie Swiper in Rails
[swift5] So legen Sie die Farbe hexadezimal fest
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
Verwendung von binding.pry für die Ansichtsdatei
Docker Push zur GitHub Container Registry (ghcr.io)
So ändern Sie den App-Namen in Rails