При настройке контейнеров php-fpm и nginx исходный код обычно должен быть доступен для обоих контейнеров. В моем случае я бы хотел докернизировать Magento. В Magento nginx сконфигурирован таким образом, что он ищет наличие файлов перед тем, как передать запрос в механизм php.
В соответствии с рекомендациями Docker для производственной среды я скопировал исходный код в контейнер php во время процесса сборки. Моя первая идея поделиться исходным кодом с контейнером nginx состояла в том, чтобы использовать именованный том, который смонтирован в корне обоих контейнеров. Однако данные в именованных томах сохраняются даже после редактирования исходного кода и перестройки контейнера php. Это удобно для динамического контента, такого как загрузка файлов и т. Д., Но как мне обновить исходный код? Должен ли я удалять том каждый раз, когда изменяется исходный код? Как мне сохранить динамический контент в этом случае?
В двух словах:
Для Magento это будет:
./index.php
, ./vendor/
, ./app/
(Кроме ./app/etc/env.php
а также ./app/etc/config.php
так как это файлы конфигурации) и т. д../pub/media/
, ./app/etc/env.php
, ./app/etc/config.php
, так далее.Задача ещё не решена.
Других решений пока нет …