Je ne sais pas comment nommer Dockerfiles. Beaucoup sur GitHub utilisent Dockerfile
sans extension de fichier. Est-ce que je leur donne un nom et une extension? si oui quoi? Ou dois-je simplement les appeler Dockerfile
?
Ne changez pas le nom du fichier de docker si vous souhaitez utiliser le générateur automatique sur hub.docker.com. N'utilisez pas d'extension pour les fichiers de menu fixe, laissez la valeur null. Le nom du fichier doit juste être: (pas d’extension du tout)
Dockerfile
Sur vscode, j'utilise dev.Dockerfile
et il le reconnaît toujours correctement.
Donc, ma stratégie pour nommer plusieurs fichiers Dockerfiles dans le même dossier est la suivante:
purpose.Dockerfile
Je pense que vous devriez avoir un répertoire par conteneur avec un fichier Docker (sans extension). Par exemple:
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
Lorsque vous générez simplement le nom du répertoire, Docker trouvera le fichier Docker. par exemple:
docker build -f ./db .
Cela semble être vrai, mais personnellement, cela me semble être de piètre conception. Bien sûr, vous avez un nom par défaut (avec l'extension) mais vous autorisez d'autres noms et vous pouvez spécifier le nom du fichier de menu fixe pour les commandes.
Avoir une extension, c’est aussi agréable, car cela permet d’associer des applications à ce type d’extension. Lorsque je clique sur un fichier Docker dans MacOSX, il le traite comme un exécutable Unix et tente de l'exécuter.
Si les fichiers Docker avaient une extension, je pourrais dire au système d’exploitation de les démarrer avec une application particulière, par exemple. mon application d'éditeur de texte. Je ne suis pas sûr, mais le comportement actuel peut également être lié aux autorisations du fichier.
Si vous souhaitez utiliser le générateur automatique sur hub.docker.com, il doit être Dockerfile
. Donc là :)
Est-ce que je leur donne un nom et une extension? si oui quoi?
Vous pouvez nommer vos fichiers Dock comme bon vous semble. Le nom de fichier par défaut est Dockerfile
(sans extension) et son utilisation par défaut peut faciliter diverses tâches lorsque vous utilisez des conteneurs.
En fonction de vos besoins spécifiques, vous souhaiterez peut-être modifier le nom du fichier. Si vous construisez pour plusieurs architectures, par exemple, vous pouvez ajouter une extension indiquant l’architecture telle que l’a fait l’équipe resin.io pour le conteneur HAProxy avec leur exemple multi-conteneurs ARM :
Dockerfile.aarch64
Dockerfile.AMD64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
Dans l'exemple fourni, chaque fichier Dockerfile est construit à partir d'une image amont différente, spécifique à l'architecture. Le fichier Docker spécifique à utiliser pour la construction peut être spécifié à l'aide de l'option --file, -f
lors de la construction de votre conteneur à l'aide de la ligne de commande.
Dockerfile
est utile si vous n’avez qu’un seul fichier docker (par répertoire). Vous pouvez utiliser la norme de votre choix si vous avez besoin de plusieurs fichiers de menu fixe dans le même répertoire - si vous avez une bonne raison. Dans un projet récent, il y avait des fichiers AWS docker et des fichiers d'environnement de développement local, car les environnements différaient suffisamment:
Dockerfile
Dockerfile.aws
J'ai créé deux Dockerfiles dans le même répertoire,
# vi one.Dockerfile
# vi two.Dockerfile
pour construire à la fois l'utilisation de Dockerfiles,
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
Note: vous devriez être dans le répertoire de travail actuel.