Как запустить PHP-приложение с Nginx в Docker Swarm / Kubernetes

Мне нужно как-то запустить мое PHP-приложение в Swarm (возможно, мы рассмотрим kubernetes, если это будет проще). Мы хотим разделить контейнеры nginx и php, чтобы мы могли масштабировать их независимо. Но есть проблема, nginx должен как-то иметь доступ к этим статическим файлам.

Как бы вы решили эту ситуацию?

Наша первая идея заключается в том, что в CI версионные скомпилированные ресурсы будут включены в образ Nginx. Но что делать, если я хочу обновить контейнеры моего приложения? Мне нужны старые и новые активы. Или я должен использовать какой-то постоянный том и обновить его с помощью CI? Но я не уверен, как я могу это сделать …

0

Решение

Постоянный объем, вероятно, лучший способ сделать это. Контейнеры Docker могут монтировать тома NFS. Создайте контейнер для NFS-сервера для общих файлов. Вот один из многих контейнеров, доступных на Docker Hub: https://hub.docker.com/r/itsthenetwork/nfs-server-alpine/

Вот пример того, как настроить тома NFS для использования с контейнерами. https://gist.github.com/ruanbekker/4a9c0d250bce9f84482f2a788ce92131

Имейте в виду, что адрес сервера должен быть адресом контейнера NFS.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]