Назад | Перейти на главную страницу

Докер: контейнер за приложением с включенной LAMP или только контейнер LAMP?

У меня есть сервер с 20/30 сайтами для хостов, и я хотел бы использовать контейнеры Docker для масштабируемости, удобства обслуживания и безопасности.

После нескольких поисков я нашел 2 подхода:

  1. один контейнер на приложение (со всеми включенными, такими как LAMP),
  2. один контейнер для каждой «службы», такой как Apache, Mysql ... И приложения.

Что касается моей цели (20/30 сайтов для хостов, дубликаты контейнеров для похожих приложений ...), я бы выбрал 1-й. Я новичок и прошу совета: что лучше?

Спасибо за ответы!

Николас

Предпочтительным решением в «зеленом» поле является наличие одного контейнера для каждой службы, т.е. контейнера Apache и отдельного контейнера Mysql. Поскольку Apache будет появляться и связываться с приложением напрямую в большинстве стеков LAMP, я бы не стал их разделять. Поместите оба этих контейнера в определение docker-compose.yml и запустите их вместе в частной сети (по умолчанию с docker-compose). Это дает каждой паре контейнеров возможность ссылаться друг на друга по dns в имени контейнера и упрощает обновление (вы можете просто заменить контейнер db, не перестраивая веб-сервер).

Приложение, загруженное со скриптовой средой, такой как php, обычно устанавливается как том в контейнере Apache.