Docker: непостоянный обмен данными между контейнерами для возможности обновления кода - PullRequest
0 голосов
/ 22 ноября 2018

В настройках контейнера 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 и т. Д.
...