Unterschied zwischen den Befehlen Kopie und Hinzufügen in einer Dockerfile

Unterschied zwischen den Befehlen Kopie und Hinzufügen in einer Dockerfile
Dockerfile wird verwendet, um ein Bild in der Docker -Umgebung zu erstellen. Es handelt sich um eine Anweisungsdatei, die Befehle enthält, um ein Docker -Bild zu erstellen. Docker -Bilder können jedoch aus dem Terminal erstellt werden. DockerFile liefert verschiedene Befehle wie “wie“AUS"Wird verwendet, um das Basisbild zu definieren."Workdir"Geben Sie das Arbeitsverzeichnis an"LAUFEN”Wird verwendet, um den angegebenen Befehl oder die angegebene Anweisung in der oberen Ebene von Docker auszuführen und“KOPIEREN" Und "HINZUFÜGENBefehle fügen Sie die Quelldatei zum Containerpfad hinzu.

Dieser Blog unterscheidet zwischen den Befehlen "Kopie" und "Hinzufügen".

Unterschied zwischen den Befehlen "Kopie" und "Hinzufügen" des Dockerfile

Beide Befehle funktionieren ähnlich und werden für denselben Zweck verwendet. Diese Befehle kopieren oder fügen Sie die Quelldatei zum Zielpfad in einem Container zu oder fügen Sie sie hinzu. Der Hauptunterschied zwischen diesen beiden Befehlen ist der Befehl „Kopieren“ kopiert nur die Datei lokal in den Zielpfadbehälter. Mit dem Befehl „Add“ können Dateien jedoch über URLs Dateien aus lokalen und entfernten Quellen hinzufügen.

Darüber hinaus unterstützt der Befehl "add" auch das "Teer”Extraktion und wird häufig für die lokale Tar -Datei -Extraktion in Container oder Bilder verwendet.

So verwenden Sie Befehle mit Dockerfile "Kopie" und "Hinzufügen"?

Um das zu nutzenKOPIEREN" Und "HINZUFÜGENBefehle in Dockerfile, gehen Sie die angegebenen Beispiele durch:

Beispiel 1: Befehl „Kopieren“ in Dockerfile

Der "KOPIERENDer Befehl ”kopiert die Quelldatei lokal in den Containerpfad.

Die Syntax für die “KOPIERENDer Befehl ”lautet wie folgt:

KOPIEREN

Lassen Sie uns eine Dockerfile erstellen, die Anweisungen zur Bereitstellung einer einfachen Golang -Anwendung enthält:

Von Golang: Alpine
WorkDir/Go/SRC/App
Hauptkopie.gehen .
Run Go Build -o -Webserver .
CMD ["./Webserver "]

Im obigen bereitgestellten Snippet:

  • AUS”Wird verwendet, um das Basisbild zu definieren.
  • WorkdirGibt das Container- oder Bildarbeitsverzeichnis an.
  • KOPIEREN”Kopiert die“hauptsächlich.gehen”Datei lokal und am Containerpfad vorbei an der.
  • LAUFEN”Wird verwendet, um den angegebenen Befehl auf der obersten Ebene des Docker-Containers auszuführen.
  • CMD”Legt den Standardspfad für Ausführung oder Eintragungspunkt für einen Container fest:

Beispiel 2: Befehl „Hinzufügen“ zu DockerFile

Der "HINZUFÜGENDie Anweisung wird verwendet, um die Datei aus der Quell -URL hinzuzufügen oder zu kopieren und in die Zieladresse im Container einzufügen.

Die Syntax, mit der das angegeben wird “HINZUFÜGENDer Befehl im Dockerfile ist unten angegeben:

HINZUFÜGEN

Im folgenden Codeblock haben wir die URL angegeben, um das zu kopierenhauptsächlich.gehenDatei von Github und fügen Sie sie in den Containerpfad ein:

So erstellen Sie ein Bild und stellen Sie es mit DockerFile bereit?

Um ein Bild zum Containerieren und Bereitstellen der Anwendung von DockerFile zu erstellen, gehen Sie die angegebenen Anweisungen durch.

Schritt 1: Erstellen Sie ein Bild

Erstellen Sie das neue Docker -Bild, um die Anwendung über den angegebenen Befehl zu contorieren:

> Docker Build -t New-Go-Img .

Schritt 2: Führen Sie das Bild als Container aus

Führen Sie das Bild aus, um die Anwendung über die “bereitzustellen“Docker Run" Befehl. Dieser Befehl generiert automatisch den Container und legt ihn am Port auf "8080”. Hier das "-DDie Option wird verwendet, um den Container im abgetrennten Modus auszuführen und “-P”Gibt den exponierenden Port des Containers an:

> Docker Run -d -p 8080: 8080 New -Go -IMG

Zur Bestätigung navigieren Sie zum lokalhost angegebenen Port “8080”. Hier haben wir erfolgreich die “ausgeführt“hauptsächlich.gehen" Programm:

Wir haben die "Kopie" und "Hinzufügen" in DockerFile unterschieden.

Abschluss

Der "KOPIEREN" Und "HINZUFÜGEN”Befehle werden für einen ähnlichen Zweck verwendet. Diese werden verwendet, um die Dateien von einem Quellort zu einem Containerpfad zu kopieren. Der Befehl "kopieren" kopiert jedoch die Datei lokal, und der Befehl "Hinzufügen" fügt die Datei aus der SRC -URL dem Container hinzu. Der Befehl „Add“ wird auch für die lokale Tar -Datei -Extraktion in Container oder Bilder verwendet. Diese Beschreibung hat die Befehle "Kopie" und "Hinzufügen" in Dockerfile unterschieden.