Есть ли способ свести на нет шаблон в .dockerignore?
Я пытаюсь скрыть шаблон в .dockerignore. Globbing выполняется с использованием правил Go filepath.Match. После проверки источника кажется, что мы можем отменить шаблон, используя символ ^.
.dockerfile
*
^Dockerfile
^web-app/dist
Однако, когда я docker build, у меня есть следующая ошибка:
Dockerfile was excluded by .dockerignore pattern '*'
Знаете ли вы, можно ли выполнить то, что я хочу?
Спасибо
Ответы
Ответ 1
Начиная с версии 1.7.0, теперь это возможно.
Отрицание с помощью !
теперь работает так, как вы ожидали, и задокументировано в официальной ссылке Dockerfile.
Вот пример, взятый из ссылки выше:
*/temp*
*/*/temp*
temp?
*.md
!LICENSE.md
Строка !LICENSE.md
приведет к тому, что LICENSE.md будет включен в контекст сборки Docker, несмотря на правило *.md
.