Я запускаю клиентское приложение Symfony3 на моем Docker для Windows. Мой docker-compose довольно прост: PHP7.1, Nginx, MySQL и phpMyAdmin.
Все работает нормально, но я получил несколько ошибок, когда PHP пытается получить доступ к путям к файлам, содержащим как прямую, так и обратную косую черту.
Например, первая ошибка, которую я получил: "Session Storage was not able to create directory "/var/www/symfony\app/../var/sessions/prod""
Это не проблема с разрешениями, потому что, когда я нахожу часть кода PHP, вызывающую этот файл, и заменяю \app
с /app
все работает нормально, и приложение работает по следующему пути, как это.
Я абсолютно не могу заменить все обратные косые черты в коде, потому что другие разработчики могут работать в Windows и поставить их обратно по какой-то причине. Тем не менее, я почти уверен, что уже запускал приложения с этим «королем пути» без каких-либо проблем.
Есть идеи о том, откуда это может прийти? Конфиг php? Конфиг Nginx?
Спасибо !
Итак, если вы хотите, чтобы ваши файлы Docker выглядели как Windows-y, используйте обратную галочку для выхода, следите за инструкциями, которые с ним не работают, и придерживайтесь формы оболочки для запуска команд:
# escape=`
FROM microsoft/nanoserver
COPY template.html c:\template.html
RUN mkdir c:\inetpub\wwwroot
RUN powershell `
cat c:\template.html `
> c:\inetpub\wwwroot\index.html
@ref: https://blog.sixeyed.com/windows-dockerfiles-and-the-backtick-backslash-backlash/
Других решений пока нет …