веб приложение, postgres и т.д.
Как это всё организовать?
Поднимаем базу в докер компоуз, это понятно, а что дальше?
Дальше, как я понимаю надо создать таблицы, делаем это из бэкенда, верно? или как вообще лучше? инит скрипт какой то закинуть, который всё создаст и подготовит?
Что с бэкапами, как бэкапить и восстанавливаться в случае чего? Как я понимаю, при переподнятие контейнера дата теряется вся, верно?
Тогда получается надо что бы автоматически при поднятие контейнера что б бэкапы тянулись как то? Или стоит докеру реальное место на диске как то выделить и не заморачиваться тем что будет при перезапуске?
Что вообще стоит почитать на эту тему? А то пока очень интересно, но мало что понятно
для создания/наката миграций базы - отдельный контейнер, в который запихивается alembic/liqubase/иное решение для прогона миграций по базе. Либо если копируем внешнюю базу - основные базы умеют при монтировании им sql.gz файла в контейнер по определенному пути - загонять дамп в базу. Бекапить штатными для вашей базы средствами, через бекап контейнер с отдельным запуском. При переподнятии контейнера зависит от того, хотите вы сохранять изменения или нет. Если хотите - сохраняете путь базы в docker volume, через volumes секцию. Если не надо - не сохраняете. Почитать доку докера, docker-compose, посмотреть проекты: https://github.com/aschmelyun/docker-compose-laravel/blob/main/docker-compose.yml https://github.com/rhamdeew/docker-compose-php/blob/master/docker-compose.yml И не пытаться использовать это в продакшене, в проде только кубер.
Спасибо большое! А почему в проде только кубер?
docker-compose не тянется по машинам. Прод из 1 сервера - это прикольно, но бессмысленно.
Ясно, понял) Благодарю
Обсуждают сегодня