Vous pouvez définir le nom de l'image lors de la création d'une image personnalisée, comme ceci:
docker build -t dude/man:v2 . # Will be named dude/man:v2
Existe-t-il un moyen de définir le nom de l'image dans Dockerfile, donc je n'ai pas à le mentionner dans la docker build
commande?
docker
tags
dockerfile
gvlasov
la source
la source
Réponses:
Le balisage de l'image n'est pas pris en charge dans le Dockerfile. Cela doit être fait dans votre commande build. Pour contourner ce problème, vous pouvez effectuer la génération avec un docker-compose.yml qui identifie le nom de l'image cible, puis exécuter a
docker-compose build
. Un exemple de docker-compose.yml ressemblerait àCela dit, il y a une pression contre la création avec la composition, car cela ne fonctionne pas avec les déploiements en mode essaim. Vous êtes donc de retour à l'exécution de la commande comme vous l'avez indiqué dans votre question:
Personnellement, j'ai tendance à construire avec un petit script shell dans mon dossier (build.sh) qui passe tous les arguments et inclut le nom de l'image pour enregistrer la saisie. Et pour la production, la construction est gérée par un serveur ci / cd qui a le nom de l'image dans le script du pipeline.
la source
Comment créer une image avec un nom personnalisé sans utiliser de fichier yml:
Comment exécuter un conteneur avec un nom personnalisé:
la source
Dockerfile
vous placez le dans un répertoire portant le même nom que celui que vous souhaitez pour votre image, vous pouvez l'utiliserdocker build -t $(basename $PWD) .
comme commande de génération. Ensuite, vous pouvez utiliser la recherche CTRL-R à partir de "build" pour rechercher et réutiliser la commande et ne jamais avoir à la modifier. Vous pouvez également en faire un alias si vous le souhaitez.Voici une autre version si vous devez référencer un fichier docker spécifique:
Ensuite, vous courez
la source
Vous pouvez le faire en utilisant 'AS' DE ubuntu: 16.04 AS FooImage
la source
AS
syntaxe spécifie le nom cible utilisé dans une génération en plusieurs étapes, et ce nom peut également être utilisé à la place d'une image pour laCOPY --from
syntaxe dans cette génération en plusieurs étapes. Cependant, il ne spécifie pas le nom / balise résultant pour la génération elle-même.