2014-11-06 10 views
10

Sto provando a negare un pattern in un .dockerignore. Il Globbing è fatto usando le regole del filepath.Match di Go. Dopo aver controllato lo source, sembra che possiamo annullare un pattern usando^character.c'è un modo per annullare un pattern in .dockerignore?

.dockerfile

* 
^Dockerfile 
^web-app/dist 

Tuttavia, quando ho Docker costruire, ho il seguente errore:

Dockerfile was excluded by .dockerignore pattern '*' 

fai a sapere se la sua possibile realizzare quello che voglio?

Grazie

+1

possibile duplicato di [Eccezioni in .dockerignore] (http://stackoverflow.com/questions/26636566/exceptions-in-dockerignore) – Andy

+0

il '*' corrisponderà a tutto, rendendo irrilevanti gli altri pattern. Sto anche cercando di trovare un modo per negare una stringa, dal documento sembra che '^' si applica solo agli intervalli di caratteri, ad esempio '[^ _] *' per abbinare tutto ciò che non inizia con '_' – Anentropic

+1

non è un duplicato, secondo me – Anentropic

risposta

10

A partire dalla versione 1.7.0, questo è ora possibile.

Negare con ! ora funziona come ci si aspetterebbe ed è documentato nello Dockerfile reference ufficiale.

Ecco un esempio tratto dal link qui sopra:

*/temp* 
*/*/temp* 
temp? 
*.md 
!LICENSE.md 

La linea !LICENSE.md causerà LICENSE.md da inserire nella finestra mobile costruire contesto, nonostante la regola *.md.

Problemi correlati