Zwei Möglichkeiten zum Erstellen von Docker-Images

Zwei Möglichkeiten zum Erstellen von Docker-Images

Wenn das aus dem Docker-Image-Repository heruntergeladene Image nicht unseren Anforderungen entspricht, können wir das Image auf die folgenden zwei Arten ändern.

  • Aktualisieren eines Images anhand eines vorhandenen Images
  • Ein Image von Grund auf neu erstellen

Aktualisieren Sie das Bild von einem vorhandenen Bild:

Bevor wir das Image aktualisieren, müssen wir einen Container mit dem Image erstellen.

Bildbeschreibung hier einfügen

Geben Sie den Container ein:

docker run -t -i db2b37ec6181 /bin/bash

Verwenden Sie zum Aktualisieren den Befehl apt-get update im laufenden Container. Geben Sie nach Abschluss des Vorgangs den Befehl „exit“ ein, um den Container zu verlassen.
Zu diesem Zeitpunkt ist der Container mit der ID 0aab061e6f5a der Container, der entsprechend unseren Anforderungen geändert wurde. Wir können die Containerkopie mit dem Befehl „Docker Commit“ festschreiben.

Bildbeschreibung hier einfügen

[root@localhost .ssh]# docker commit -m="hat Update" -a="zyn" 0aab061e6f5a mysql:v2
sha256:3dda266fd05963e816f22e3dec2584589977e040f7202e0421b0151290e4f54b

Beschreibung der Parameter des obigen Befehls:

-m: Beschreibungsinformationen übermitteln
-a: Geben Sie den Bildautor an
0aab061e6f5a: Container-ID
mysql:v2: gibt den Namen des zu erstellenden Zielabbilds an

Mit dem Befehl „Docker Images“ können wir unser neues Image mysql:v2 anzeigen:

Bildbeschreibung hier einfügen

Erstellen Sie ein Image von Grund auf:

Verwenden Sie den Befehl „Docker Build“, um ein völlig neues Image zu erstellen. Dazu müssen wir eine Dockerfile-Datei erstellen, die eine Reihe von Anweisungen enthält, die Docker mitteilen, wie unser Image erstellt werden soll.

Beispielsweise erstellen wir ein Docker-Image aus einem JAR-Paket:

Erstellen Sie zuerst die Dockerfile-Datei:

VON java:8
WARTUNGSMITARBEITER zyn
KOPIEREN Sie jenkins.war /usr/local/jenkins.war
EXPOSE 8080
EINSTIEGSPUNKT ["java", "-jar", "/usr/local/jenkins.war","--httpPort=8080"]

Beschreibung der Parameter des obigen Befehls:

java:8 ist das gerade heruntergeladene Basisimage
MAINTAINER ist der Autor
COPY dient zum Kopieren der lokalen JAR-Datei in das Image
EXPOSE deklariert die offene Schnittstelle des Spiegels
ENTRYPOINT ist der Befehlsparameter, der beim Ausführen von Docker angegeben wird, ähnlich wie bei RUN- und CMD-Befehlen

Jede Anweisung erstellt eine neue Ebene auf dem Bild. Das Präfix jeder Anweisung muss groß geschrieben sein.

Legen Sie das JAR dann in dasselbe Verzeichnis wie die Docker-Datei:

Bildbeschreibung hier einfügen

Schließlich verwenden wir die Dockerfile-Datei, um mit dem Befehl „Docker Build“ ein Image zu erstellen:

Hinweis: Der Punkt nach Dockerfile bedeutet, dass das aktuelle Verzeichnis als Kontextverzeichnis verwendet wird. Beim Erstellen eines Images werden die Dateien im Kontextverzeichnis in das Image kopiert, d. h. das JAR-Paket wird in das Image kopiert.

[root@localhost zyn]# docker build -t my_jenkins:1.0 -f Dockerfile .
Senden des Build-Kontexts an den Docker-Daemon 67,29 MB
Schritt 1/5: FROM java:8
8: Aus Bibliothek/Java ziehen
5040bd298390: Ziehen abgeschlossen
fce5728aad85: Pull abgeschlossen
76610ec20bf5: Ziehen abgeschlossen
60170fec2151: Ziehen abgeschlossen
e98f73de8f0d: Ziehen abgeschlossen
11f7af24ed9c: Ziehen abgeschlossen
49e2d6393f32: Ziehen abgeschlossen
bb9cdec9c7f3: Ziehen abgeschlossen
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Neueres Image für Java:8 heruntergeladen
 ---> d23bdf5b1b1b
Schritt 2/5: MAINTAINER zyn
 ---> Wird ausgeführt in d8027d9002f4
Zwischenbehälter entfernen d8027d9002f4
 ---> cdd9362868cb
Schritt 3/5: KOPIEREN Sie jenkins.war /usr/local/jenkins.war
 ---> 3a276d766222
Schritt 4/5: 8080 freilegen
 ---> Wird ausgeführt in 99cf28fb33a8
Zwischenbehälter entfernen 99cf28fb33a8
 ---> de89b785c80d
Schritt 5/5: ENTRYPOINT ["java", "-jar", "/usr/local/jenkins.war","--httpPort=8080"]
 ---> Wird ausgeführt in c3a7e16eaa11
Zwischenbehälter entfernen c3a7e16eaa11
 ---> 5107b1256f01
Erfolgreich erstellt 5107b1256f01
Erfolgreich getaggt my_jenkins:1.0

Bildbeschreibung hier einfügen

Starten Sie das obige Docker-Image:

[root@localhost zyn]# docker run -itd --name jenkins -p 18080:8080 my_jenkins:1.0
5e185bb8e4866b8018f0b3bb7a4845360d3d4efc5bd2509d84fe118929fe52b3

Bildbeschreibung hier einfügen

Damit ist dieser Artikel über zwei Möglichkeiten zum Erstellen von Images mit Docker abgeschlossen. Weitere Informationen zum Erstellen von Images mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Eine detaillierte Einführung in die Dockerfile-Image-Erstellungsdatei und verwandte Befehle in Docker
  • Detaillierte Erläuterung der Verwendung von Dockerfile zum Erstellen eines MySQL-Images und zum Implementieren der Dateninitialisierung und Berechtigungseinstellung
  • So erstellen Sie ein Docker-Basisimage von Grund auf
  • Jenkins erstellt Docker-Image-Beispiel
  • Implementierung der mehrstufigen Docker-Image-Erstellung
  • So verwenden Sie Dockerfile zum Erstellen von Images

<<:  Perfekte Lösung für das Problem des CSS-Hintergrundbildpfads im Webpack

>>:  JS Leicht verständliche Funktion und Konstruktor

Artikel empfehlen

CSS Clear Float Clear:Both Beispielcode

Heute werde ich mit Ihnen über das Löschen von Fl...

Tipps zur HTML-Formatierung und langen Dateien für das Webdesign

<br />Verwandte Artikel: 9 praktische Vorsch...

Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

Vorwort Da immer wieder Fehler auftreten, protoko...

Manjaro-Installation CUDA-Implementierungs-Tutorial-Analyse

Ende letzten Jahres habe ich im Dualsystem meines...

Lernen Sie MySQL-Datenbanken in einer Stunde (Zhang Guo)

Inhaltsverzeichnis 1. Datenbankübersicht 1.1 Entw...

Docker löscht private Bibliotheksbilder vollständig

Werfen wir zunächst einen Blick auf die allgemein...

JS verwendet Canvas-Technologie, um Echarts-Balkendiagramme zu imitieren

Canvas ist ein neues Tag in HTML5. Sie können js ...

Detaillierte Erklärung der grundlegenden Syntax und Datentypen von JavaScript

Inhaltsverzeichnis JavaScript importieren 1. Inte...