Dockerfile: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 59: Zeile 59:
  
 
=Dockerfile erstellen und Image bauen=
 
=Dockerfile erstellen und Image bauen=
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.
+
*Erstellen Sie eine Datei namens "Dockerfile" (ohne Dateierweiterung) im Projektverzeichnis.
 
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts
 
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts

Version vom 11. Mai 2023, 12:43 Uhr

Was ist eine Dockerfile?

  • Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.
  • Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.

Grundlegende Struktur eines Dockerfiles

  • Jede Zeile im Dockerfile stellt eine Anweisung dar.
  • Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.
  • Kommentare können mit einem `#` eingeleitet werden.

Wichtige Dockerfile-Anweisungen

Schlüsselwort Erklärung
FROM Definiert das Basis-Image, von dem das neue Image erstellt wird.
RUN Führt einen Shell-Befehl innerhalb des Images aus.
CMD Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.
ENTRYPOINT Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.
WORKDIR Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.
COPY Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.
ADD Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.
EXPOSE Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.
ENV Setzt Umgebungsvariablen für das Image.
VOLUME Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.
USER Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.

Best Practices für Dockerfiles

  • Verwenden eines minimalen Basis-Images
    • Verwenden eines Images wie "alpine" oder "ubuntu-slim", um die Größe des endgültigen Images zu reduzieren.
  • Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.
  • Verwenden von "COPY" statt "ADD", es sei denn, wir benötigen spezielle Funktionen von "ADD".
  • Führen Sie mehrere "RUN"-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.
  • Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.
  • Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.
  • Verwenden von ".dockerignore", um unnötige Dateien aus dem Build-Kontext auszuschließen.
  • Starten von Anwendungen im Container als Nicht-Root-Benutzer.

Dockerfile erstellen und Image bauen

  • Erstellen Sie eine Datei namens "Dockerfile" (ohne Dateierweiterung) im Projektverzeichnis.
  • Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts