могут взаимодействовать между собой через POST или писать что-то в общие БД, так это я должен для каждого сайта делать контейнер? И для БД контейнер? И все их запускать и они будут в сети докера друг друга видеть?
Я просто не очень пока улавливаю. До этого я использовал Vagrant и просто настраивал виртуалку. Но теперь у меня нет пути назад и нужно переезжать на докер для локальной разработки.
Если ты сейчас с нуля придумываешь архитектуру то лучше забудь про "писать что-то в общие БД" )) Взаимодействие только через rest, rpc или что больше нравится Я тебе больше скажу не "для сайта" делать контейнер, а вэб сервер отдельный контейнер, под бэк отдельный (например fpm если у тебя пыха), всякие кэшеры и прочие тоже все в отдельных контейнерах Поднимать бд в контейнере допустимо только если у тебя слабонагруженная небольшая база Запускать локально ты их будешь в докер компосе скорее всего и они будут друг друга видеть На проде естественно оркестратор
У меня есть на локальном диске папка с проектами. В каждой гит. И я их разрабатываю. При этом эта папка залинкована с папкой /var/www на виртуалке, где стоит LAMP. Сейчас мне надо схожий опыт получить с помощью докера. Я просто саму концепцию не до конца понимаю. То есть мне докер не для деплоя контейнеров нужен, а для запуска проектов, не особо прям нагруженных данными. Это куча легаси проектов, некоторые даже на пыхе 5.4
Ну это легче легкого ) собираешь докер компос файл, под каждый проект выбираешь образ с нужной пыхой, и пробрасываешь локальную папку с проектом внутрь контейнера, все контейнеры в одной сети, туда же можешь xdebug прокидывать, очень удобно вести разработку
спасибо. Потихоньку пойму что тут написано.
а апач и мускуль они отдельными контейнерами, но при этом общие для всех php контейнеров?
Нет, апач отдельный контейнер у каждого проекта свой, мускуль тоже Но вот только зачем использовать апач? ) Есть nginx, nginx unit, roadrunner, octane Не вижу смысла тащить такова монстра как апач
Ну потому что там самописный фреймворк, который работает с апачем. А если у каждого свой мускуль, то как два сайта подключаются к одной базе?
Чтож там такова написать нужно было что бы так завязаться на апач? ) Я слабо в это верю ) Не нужно двум сайтам подключаться к одной базе зачем? У тебя автоматически база становиться узким местом, нагрузка на один сайт - висят все, делаешь миграцию с локом на один сайт - опять висят все Разделяй и властвуй
Не слушай религиозных фанатиков. докер нужен, чтобы окружение проекта было максимально изолировано и легко переносилось. Если у тебя mysql для всех одинаковый, то либо держи его в отдельном контейнере, либо прямо на хосте - вполне нормальная практика. Так же на хосте (или в своем контейнере) у тебя может жить общий nginx, который раскидывает трафик на проекты. Проект, это апач с php и модулями, туда биндится папка проекта. Если есть дополнительные сервисы, то их лучше отдельными контейнерами. Композ тебе может помочь такую схему создавать/изменять достаточно просто, атом числе делать копии проектов. Нормально сделанная сеть в докере (через композ удобнее) позволит все на все врачи в разных контейнерах обращаться по имени контейнера и 80 порту (тогда nginx должен быть в контейнере) Короче, плюшек много, но надо понимать, что ты хочешь и как это работает
Обсуждают сегодня