Sie können den Bildnamen beim Erstellen eines benutzerdefinierten Bilds wie folgt festlegen:
docker build -t dude/man:v2 . # Will be named dude/man:v2
Gibt es eine Möglichkeit, den Namen des Bildes in Dockerfile zu definieren, sodass ich ihn im docker build
Befehl nicht erwähnen muss ?
docker
tags
dockerfile
gvlasov
quelle
quelle
Antworten:
Das Markieren des Bildes wird in der Docker-Datei nicht unterstützt. Dies muss in Ihrem Build-Befehl erfolgen. Um dieses Problem zu umgehen, können Sie den Build mit einer docker-compose.yml ausführen, die den Namen des Zielbilds identifiziert, und dann a ausführen
docker-compose build
. Ein Beispiel für docker-compose.yml würde aussehenDas heißt, es gibt einen Push gegen das Erstellen mit Compose, da dies bei Bereitstellungen im Schwarmmodus nicht funktioniert. Sie können den Befehl also wieder ausführen, wie Sie in Ihrer Frage angegeben haben:
Persönlich neige ich dazu, mit einem kleinen Shell-Skript in meinem Ordner (build.sh) zu erstellen, das alle Argumente übergibt und dort den Namen des Bildes enthält, um die Eingabe zu speichern. Für die Produktion wird der Build von einem ci / cd-Server verwaltet, dessen Image-Name im Pipeline-Skript enthalten ist.
quelle
So erstellen Sie ein Bild mit einem benutzerdefinierten Namen ohne Verwendung einer XML-Datei:
So führen Sie einen Container mit einem benutzerdefinierten Namen aus:
quelle
Dockerfile
Verzeichnis in ein Verzeichnis mit demselben Namen wie für Ihr Image einfügen, können Sie esdocker build -t $(basename $PWD) .
als Build-Befehl verwenden. Dann können Sie die STRG-R-Suche von "Build" verwenden, um den Befehl zu finden und wiederzuverwenden, ohne ihn bearbeiten zu müssen. Sie können es auch zu einem Alias machen, wenn Sie möchten.Hier ist eine andere Version, wenn Sie auf eine bestimmte Docker-Datei verweisen müssen:
Dann rennst du einfach
quelle
Sie können dies mit 'AS' FROM ubuntu: 16.04 AS FooImage tun
quelle
AS
Syntax gibt den Zielnamen an, der in einem mehrstufigen Build verwendet wird. Dieser Name kann auch anstelle eines Abbilds für dieCOPY --from
Syntax in diesem mehrstufigen Build verwendet werden. Der resultierende Name / Tag für den Build selbst wird jedoch nicht angegeben.