Проблема с учетом регистра имени файла Dockerfile

#docker #dockerfile

#docker #dockerfile

Вопрос:

У меня есть две машины под управлением Windows 10. На обеих машинах установлена одна и та же версия docker (19.03.13). На одном компьютере при выполнении команды сборки docker имя файла docker должно соответствовать регистру, используемому для имени файла на диске. т.е. Если имя файла Dockerfile , параметр -f команды сборки docker должен быть Dockerfile . На другом компьютере имя файла, переданное параметру -f, может быть dockerfile или Dockerfile. Что может объяснить разницу в поведении, когда версии docker одинаковы? Единственное существенное различие между ними заключается в конкретной установленной версии Windows 10. Тот, который не заботится о оболочке dockerfile, использует более новую версию Windows 10, чем другая.

Ответ №1:

Я нашел причину своей проблемы. Мне довелось сравнить расширенные настройки docker на каждом компьютере и отметить, что на компьютере, который требовал правильного ввода имени файла docker, была следующая настройка, которая не была установлена на другом компьютере.

 "features": {
  "buildkit": true
}
  

Как только я удалил этот параметр, я смог создать свой образ docker из Visual Studio, который всегда использует имя dockerfile файла, даже если фактический файл docker имеет имя Dockerfile

Комментарии:

1. Где вы находите эти настройки?

2. @GreenAsJade В настоящее время у меня не установлен docker для Windows, поэтому этот параметр, возможно, переместился или больше не доступен. AFAIR, где-то в пользовательском интерфейсе было текстовое поле с надписью «расширенные настройки docker»

3. Я нашел это в docker settings (cog) Docker Engine.