Heim > Betrieb und Instandhaltung > Docker > Wie Docker die Verpackung implementiert

Wie Docker die Verpackung implementiert

WJ
Freigeben: 2020-06-09 16:33:43
Original
4460 Leute haben es durchsucht

 Wie Docker die Verpackung implementiert

Wie implementiert Docker die Verpackung?

Docker-bezogene Begriffe:

(1). Spiegel, Container, Lager

Docker-Eigenschaften:

(1) . Schlüsselwörter: Container, Standard, Isolation.

Docker-Bereitstellungspraxis:

1. Docker-Datei erstellen

Achten Sie auf die von mir genannten Annahmen: Ihr JAR-Paket oder Kriegspaket Alle wurden erfolgreich gepackt und Docker erfolgreich installiert.

Der Inhalt der Docker-Datei lautet wie folgt:

FROM azul/zulu-openjdk:8
VOLUME /home/work/springDemo
ADD springDemo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Nach dem Login kopieren

FROM: Auf welchem ​​Image es basiert

VOLUME: Sie können lokale Ordner oder Ordner anderer Container in den mounten Container

HINZUFÜGEN: Kopieren Sie die Datei in den Pfad, der dem Dateisystem des Containers entspricht

RUN: Der RUN-Befehl führt jeden zulässigen Befehl im aktuellen Image aus und die Ausführungsergebnisse einreichen. Nachdem die Befehlsausführung übermittelt wurde, wird die nächste Anweisung in der Docker-Datei automatisch ausgeführt

ENTRYPOINT: Der Befehl, der beim Starten des Containers ausgeführt wird, es kann jedoch nur einen ENTRYPOINT-Befehl in einer Docker-Datei geben, wenn mehrere vorhanden sind , nur die letzte wird ausgeführt

Fokus: Der Speicherort von Dockerfile und JAR-Paket oder War-Paket

Hinweis: Die neu erstellte Dockerfile-Datei muss sich im selben Ordner wie das JAR befinden .

  2. Generierung des Jar-Pakets

Sie sind möglicherweise verwirrt, wenn Sie das .jar-Paket im Bild oben sehen. Schauen wir uns an, wie dieses Paket generiert wird.

Da ich das Projekt über Maven erstellt habe, gehe ich natürlich immer noch davon aus, dass Maven in Ihrer Umgebung installiert ist.

Nach den oben genannten Vorgängen wird das JAR-Paket erstellt.

  3. Bild generieren

  Beschreibung des Shell-Befehls: Der entscheidende Punkt ist, dass Sie mit cd zu dem Ordner wechseln müssen, in dem die Docker-Datei und das JAR-Paket oder das War-Paket gespeichert sind.

Befehl: sudo docker build -t springbootdemo .

Hinweis: Nach dem Befehl muss .

Ich kann mich nicht an die Bedeutung des Parameters -t erinnern. Sie können die Erklärung verwandter Funktionen über sudo docker build --help anzeigen. springbootdemo ist der Imagename des Builds.

Mit den oben genannten Vorgängen ist die Erstellung des Docker-Images abgeschlossen. Überprüfen Sie, ob das Image erfolgreich erstellt wurde, Befehl: sudo docker images. Sie können sehen, dass springbootdemo das gerade erstellte Image ist.

4. Container starten

Container entsprechen eigentlich Spiegelträgern.

Screenshot des Container-Startbefehls:

Startbefehl: sudo docker run -d -p 8080:8080 springbootdemo

Ich habe auch die Bedeutung der Parameter von -d -p vergessen, Sie können es überprüfen aus. 8080: 8080 ist eine Portzuordnung. Ich schlage vor, dass Sie Docker kennen lernen und sich die oben erwähnte Image-Datei genauer ansehen.

Zeigen Sie die aktuell ausgeführten Container an: sudo docker ps

Wenn Ihr JAR-Paket oder Kriegspaket ein Webprogramm wie meines ist, können Sie es über den Browser testen. Verwandte Empfehlungen:

Docker-Tutorial

Das obige ist der detaillierte Inhalt vonWie Docker die Verpackung implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage