398 Stimmen

Wie erstellt man einen benannten und neuesten Tag in Docker?

Angenommen, ich habe ein Bild, das ich als 0.10.24 taggen möchte (in meinem Fall handelt es sich um ein Bild, das Node.js 0.10.24 enthält). Ich habe dieses Bild mit einem Dockerfile erstellt und docker build ausgeführt und einen Tag mit dem Parameter -t angegeben.

Ich erwarte, dass ich eines Tages zusätzliche Versionen dieses Bildes haben werde, also werde ich den Prozess erneut starten, allerdings mit einem anderen Tag-Namen.

Bisher läuft alles gut. Das funktioniert großartig und alles ist in Ordnung.

Aber hier beginnen die Probleme: Ich möchte auch immer das neueste Bild zusätzlich als latest taggen. Also denke ich, dass ich zwei Namen für dasselbe Bild geben muss.

Wie mache ich das? Muss ich wirklich docker build mit exakt derselben Version erneut ausführen, aber diesmal einen anderen Tag verwenden, oder gibt es eine bessere Option?

8voto

Shubham Tomar Punkte 186

Um einem Docker-Image während des Build-Befehls ein Tag zu geben:

docker build -t image_name:tag_name .

Andernfalls wird automatisch das latest Tag Ihrem Docker-Image zugewiesen.

7voto

Tony Punkte 1154

Variation von Aarons Antwort. Verwendung von sed ohne temporäre Dateien

#!/bin/bash
VERSION=1.0.0
IMAGE=firmenname/bild
ID=$(docker build  -t ${IMAGE}  .  | tail -1 | sed 's/.*Successfully built \(.*\)$/\1/')

docker tag ${ID} ${IMAGE}:${VERSION}
docker tag -f ${ID} ${IMAGE}:latest

1voto

Saurabh kumar Punkte 25

Hallo, es ist sehr einfach, du musst nur die unten stehenden Schritte befolgen -

Also, um ein Bild in Docker zu erstellen und zu taggen, können wir die folgenden Befehle verwenden

Nehmen Sie zunächst Ihre Docker-ID heraus, indem Sie den folgenden Befehl ausführen

docker ps 

Kopieren -> Namen

docker build -t dockerId/Name des von Ihnen gewünschten Bildes:latest .

Für mich benutze ich docker build -t condescending_greider/newdoc:latest .

Vielen Dank für Ihre Zeit

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X