Insolita
@Insolita
Отчаянная домохозяйка

Как организовать структуру нескольких машин vagrant + ansible || docker для разработки?

Много статей на тему как замечательно вагрант, докер и прочее, но большинство примеров сводятся к примитивной установке, настройке одной машины + в лучшем случае подключения провижна, или какие-то особо специфичные нюансы
В общем хочу для себя решить такие задачи
- получить "стандартное" рабочее окружение php5.6 + nginx + mysql + redis с возможностью работать над несколькими проектами (т.е. периодически добавлять новые конфиги для nginx и hosts) (хотя где-то пишут что лучше на каждый проект свой вагрант)
- быстрая развертка проекта в экспериментальном окружения php7, hhvm, (желательно чтоб можно было запустить параллельно с основным)
- тестовые окружения имитирующие продашкн (git pull, миграции и т.п. )
смущает как разруливать с ssh-ключами - с каждой машины придётся смотреть и регистрировать в bitbucket? или как-то можно "стандартный" задать
- не будет ли конфликта с проброской портов если запустить несколько машин - или для каждой лучше разные порты выделять?
как собственно организовать структуру с машинами, плейбуками и т.п. чтоб в этом всём не запутаться
можно ли организовать это только через докеры? (собственно главная цель - чтоб можно было окружение забекапить в облако и получить с другой машины)
Пока в планах на локалке с этим все разобраться, но в перспективе и с серверами задействовать
  • Вопрос задан
  • 529 просмотров
Решения вопроса 1
AfsmNGhr
@AfsmNGhr
Full stack web developer
Вам более чем подойдёт docker + docker-compose.
Делаете images - php5.6, php7, остальное в сети легко найти и использовать.
(p.s. можно не делать, но так быстрее разберётесь)
Ни каких ssh ключей в контейнеры не нужно, порты делать разными, если прокидываются на хост.
Код на хосте, монтируете в контейнеры или добавляете.
Для разработки лучше монтировать и работать с локальной папкой.
Менять конфиги в docker-compose.yml директивы environment или env_file .
Бекапы можно прям контейнерами или tar.gz -> docker load tar.gz container ...
На каждый проект по-любому 1 VM, что весьма накладно, если хотите одновременно работать с ними,
или docker container приложения + containers services (nginx , mysql, redis), которые можно использовать в разных проектах(php5, 7).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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