Подтвердить что ты не робот

Есть ли способ свести на нет шаблон в .dockerignore?

Я пытаюсь скрыть шаблон в .dockerignore. Globbing выполняется с использованием правил Go filepath.Match. После проверки источника кажется, что мы можем отменить шаблон, используя символ ^.

.dockerfile

*
^Dockerfile
^web-app/dist

Однако, когда я docker build, у меня есть следующая ошибка:

Dockerfile was excluded by .dockerignore pattern '*'

Знаете ли вы, можно ли выполнить то, что я хочу?

Спасибо

4b9b3361

Ответ 1

Начиная с версии 1.7.0, теперь это возможно.

Отрицание с помощью ! теперь работает так, как вы ожидали, и задокументировано в официальной ссылке Dockerfile.

Вот пример, взятый из ссылки выше:

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

Строка !LICENSE.md приведет к тому, что LICENSE.md будет включен в контекст сборки Docker, несмотря на правило *.md.