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