Что я вообще хочу от докера при разработке. Во первых, мне нужна локальная копия сайта, именно на этой локальной копии я буду смотреть как собственно работает код. Эта локальная копия должна открываться по красивому адресу, например если основной рабочий сайт это example.com, то моя локальная копия должна открываться по адресу my.example.com. Безо всяких портов типа my.example.com:8747. Я часто открываю сразу несколько проектов и все открытые проекты не должны конфликтовать, то есть например у меня открыто два окна phpstorm в одном ведется разработка проекта example.com, во втором ведется разработка test.ru, и для каждого из этих проектов одновременно должны работать два локальных сайта my.example.com и my.test.ru. Во вторых, мне под каждый проект нужны специальные настройки (mbstring, timezone) и расширения php (типа xdebug). В третьих, мне нужны внешние инструменты типа phpmyadmin для работы с БД проекта или node.js для работы с gulp/webpack. И наконец в четвертых, все это должно быстро подниматься для новых разработчиков которые подключаются к проекту.
Kryachek Mikhail написал: Поэтому для полноценной работы необходим push&pull
А, вы про модуль битрикса push&pull чтоли? Я думал речь про докеровский push&pull, то есть работу с репозиториями образов докера.
По самой сборке контейнеров замечания понял. И согласен. Но повторюсь там не законченный рецепт окружения, а примеры возможного, плюс тонкости именно локальной работы.
Kryachek Mikhail написал: Автоматическая установка Битрикса, либо клонирование репозитория с проектом итп в процессе создания контейнеров. Я лично решал эту задачу через кастомный ENTRYPOINT
Это интересно. Можете поделиться лучшим вариантом реализации такой развертки с вашей точки зрения? Чтобы на любой машине при создании контейнеров все прям собралось. Где-то заранее архив с битриксом и БД подготовить? Хранить весь битрикс вместе с модулями в репозитории? На лету с живого тестового сайта копировать? Еще как то?
И еще, как по вашему лучше конфиги / докерфайлы образов хранить, в репозитории вместе с файлами проекта или отдельно?
Не совсем, я про то что nginx надо собирать с nginx-push-stream-module или nodejs и вытаскивать решение из текущей VM.
Это интересно. Можете поделиться лучшим вариантом реализации такой развертки с вашей точки зрения? Чтобы на любой машине при создании контейнеров все прям собралось. Где-то заранее архив с битриксом и БД подготовить? Хранить весь битрикс вместе с модулями в репозитории? На лету с живого тестового сайта копировать? Еще как то?
Я не большой гуру в docker'е, но у себя реализовал таким образом, в .env есть переменная APPLICATION_FROM=<git><path>.git Т.е. в момент разворачивания php-fpm контейнера, запускается кастомный ENTRYPOINT скрипт, который согласно параметру APPLICATION_FROM клонирует репозиторий или скачивает и разворачивает резеврную копию с "живого" проекта.
И еще, как по вашему лучше конфиги / докерфайлы образов хранить, в репозитории вместе с файлами проекта или отдельно?
Сложно сказать, зависит от вашего цикла разработки.
Если еще заморочитесь с PHP-FPM контейнером и необходимостью запуска РНР скриптов из-под крон, то можете написать мне и я вам скину простенький консольный скрипт, который будет выполнять PHP файлы. Можно конечно накрутить PHP-CLI в этом же контейнере, но я посчитал это лишним.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».