Le marquage de l'image n'est pas pris en charge dans le Dockerfile. Cela doit être fait dans votre commande de construction. Comme solution de rechange, vous pouvez effectuer la construction avec un fichier docker-compose.yml qui identifie le nom de l'image cible et ensuite exécuter une commande docker-compose build
. Un exemple de docker-compose.yml ressemblerait à ceci
version: '2'
services:
man:
build: .
image: dude/man:v2
Cela dit, il est déconseillé de faire la construction avec compose, car cela ne fonctionne pas avec les déploiements en mode essaim. Vous devez donc à nouveau exécuter la commande comme vous l'avez indiqué dans votre question :
docker build -t dude/man:v2 .
Personnellement, j'ai tendance à construire avec un petit shell script dans mon dossier (build.sh) qui passe tous les args et inclut le nom de l'image à cet endroit pour éviter la saisie. Et pour la production, la construction est gérée par un serveur ci/cd qui a le nom de l'image à l'intérieur du pipeline script.
10 votes
Pour toute personne curieuse, en utilisant FROM... comme nom ne fonctionne pas