Dans un fichier Docker, j'ai
COPY . .
Je veux exclure un répertoire entier, dans mon cas, le répertoire node_modules.
Quelque chose comme ça:
COPY [all but **/node_modules/**] .
Est-ce possible avec Docker?
Dans un fichier Docker, j'ai
COPY . .
Je veux exclure un répertoire entier, dans mon cas, le répertoire node_modules.
Quelque chose comme ça:
COPY [all but **/node_modules/**] .
Est-ce possible avec Docker?
Créez le fichier .dockerignore
dans votre répertoire contextuel de construction de docker (dans ce cas, il s'agit probablement d'un répertoire parent de node_modules) comportant une ligne:
**/node_modules
bien que vous vouliez probablement juste:
node_modules
Informations sur dockerignore: https://docs.docker.com/engine/reference/builder/#dockerignore-file
Pour ceux qui ne peuvent pas utiliser un fichier .dockerignore (par exemple, si vous avez besoin du fichier dans une copie mais pas dans une autre):
Oui, mais vous avez besoin de plusieurs instructions de copie. Plus précisément, vous avez besoin d'une COPIE pour chaque lettre du nom de fichier que vous souhaitez exclure.
COPY [^n]* # All files that don't start with 'n'
COPY n[^o]* # All files that start with 'n', but not 'no'
COPY no[^d]* # All files that start with 'no', but not 'nod'
Continuez jusqu'à ce que vous ayez le nom de fichier complet ou simplement le préfixe dont vous êtes raisonnablement sûr qu'il ne contiendra aucun autre fichier.
L'ajout d' .dockerignore fonctionne pour moi. Un point supplémentaire à Ceux qui tentent cette solution sur Windows , windows ne vous permettra pas de créer .dockerignore fichier (que ce ne soit pas par défaut permet la création de fichier de départ .)
le truc qui est mentionné ici : https://www.hanselman.com/blog/HowToCreateAFileWithADotPrefixInWindowsExplorer.aspx
ce qui est d'inclure une fin point également, comme : .dockerignore.
et appuyez sur entrée ( à condition que vous ayez activé l'option afficher les options de prolongation d'options des dossiers )
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.