@sirius23
IT

Nginx(хост) + Virtulhostы PHP FPM (разные версии в Docker ) +Mysql (хост)?

Пробывал конфигурацию, когда все сервисы в контейнерах.
Проблемы начинаются когда пытаешся отделить пхп (сайт + хранилище файлов) как отдельный контейнер.
Кто как делал ?
  • Вопрос задан
  • 874 просмотра
Пригласить эксперта
Ответы на вопрос 2
@viiy
Linux сисадмин \ DevOps
Зачем это вы пытаетесь сделать не совсем понятно.
У каждого инструмента свое назначение.
Docker - для stateless сервисов, которые не хранят состояние, не перезаписывают внутри себя файлы, которые умирают, и никто не переживает, что внутри чтото потерлось. Идеальное применение докера - для микросервисов. Этакий сервис который работает, что-то потихому делает в фоне, а как помрет, его перезапустят и он продолжит работать. Идеально когда внутри один сервис и других нет.
В вашем случае php в докер пихать не очень целесообразно. web-сервер в докер пихать тоже не рекомендуется. Потому как эта связка статичная, ее нельзя ломать, потому как сломается все. Хранить сайты внури докера вобще плохое решение.
Мне кажется, из той инфрмации что вы предоставили, вам лучше рассмотреть вместо докера какую-либо виртуализацию в виде lxc, kvm.
Mysql с докере вобще криминал, никто это не рекомендует, т.к база должна жить всегда, дисковую подсистему использовать по максимуму, и причин ее изолитьвать в докере практически не бывает. Проще поднять еще один инстанс на том же сервере или другом.
Оговорочка. Можно оживить связку nginx+fpm+сайт в контейнерах. Но целесообразно это когда у вас есть какой то внешний условный nginx, который прокидывает proxy-pass-ами на сайтики нижележащего уровня. Но тут нужна серьезная обвязка в виде оркестрации микросервисов (docker-swarm минимум, kubernates), service discovery какой то (consul, etcd). Но для простых задач с сайтиками это просто убийственно сложно и не нужно.
Если опишите задачу более подробно, будет легче дать совет.
Ответ написан
Комментировать
@4iloveg
Full-Stack HTML Developer
Что за проблемы? Каждый сервис по хорошему должен быть в отдельном контейнере. А связывать проще через docker-compose
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы