Vladimir
тогда к чему вопрос про зачем виртуалка?))
Vladimir
если докер это виртулка
Vitalii
докер для винды и для мака это тоже виртуалка
я потому и не ставлю его на свой мак, кругом костыли :)) Уже лучше тогда явно поставить виртаулку с линуксом и в него докер.
Vitalii
или нет?
Vladimir
Я вычитал, что виртуалка дает оверхед на фс и синхронизация папки в виртуалке с хостом может затягиваться. Это так?
у меня виртуалка с докером поднимается вагрантом, который создаёт NFS шару. По NFS вроде годно работает. Хотя стресс тестов не делал.
Lex
если докер это виртулка
к тому, что он хендлит пробросы портов и т.д.
Vladimir
к тому, что он хендлит пробросы портов и т.д.
тока работает как кусок говна, лучше то же самое руками сделать
Vladimir
и выставить интернал сетевой интерфейс что бы порты не пробрасывать а по апишнику ходить
Vladimir
(владельцем Mac OS и Linux повезло можно использовать NFS, где все довольно быстро)
Vladimir
парень в статье просто не разобрался, что NFS в винде тоже прекрасно работает.
Dan
блин, я до варганта еще не дошел.
Вагрант уже использовать не кошерно
Dan
а что кошерно?
А смотря для чего.
Dan
Где-то докер. Где-то нативно
Dan
Где-то кубернетес и coreos
Vitalii
А смотря для чего.
для организации среды разработки :)
Dan
для организации среды разработки :)
Сайтики делать? Докер тебе бро
Dan
Еще из докера хорошие билд машины выходят
Vitalii
Сайтики делать? Докер тебе бро
там выше куча всего написано на эту тему :) лучше прочесть
Vladimir
Где-то кубернетес и coreos
вообще вы не в ту степь пошли
Vitalii
а где тут CI?
а каким местом CI к разработке?) На CI у меня деплой: сборка контейнеров, тесты и деплой.
Lex
а каким местом CI к разработке?) На CI у меня деплой: сборка контейнеров, тесты и деплой.
CI самым непосрественным местом, разработка без CI это мягко говоря странно
Lex
тесты где разрабы гонять будут?
Lex
а расскажи что оно будет делать?
собирать проект, прогонять тесты, билдить артефакты
Lex
тесты разные, от unit тестов до сквозных тестов
Vitalii
собирать проект, прогонять тесты, билдить артефакты
опять же... это все надо перед билдом. Зачем это разработчикам?
Vitalii
их задача пушить код в репо и чтобы он работал. Деплой это отдельная тема. Не?
Vitalii
Я честно не понимаю :)
Vladimir
это по моему уже другая тема
Lex
мне просто интересно
Vladimir
изначально был вопрос как организовать дев
Vladimir
а кто как дальше работает с CD CI Это дело каждого
Lex
чем меньше сущностей тем лучше
Vitalii
в общем я не придумаю чем мне CI поможет в разработке. CI срабатывет когда я мержу master > production и тогда уже сборка контейнеров, тесты, и деплой на продакшен.
Vladimir
чем меньше сущностей тем лучше
расскажите это разработчикам ядра линукс))))
Lex
CI срабатывает сразу, как изменилась хотя-бы строка кода
Vladimir
у кого как
Vladimir
совсем не обязательно делать именно так
Lex
расскажите это разработчикам ядра линукс))))
взять уникальный в своем роде проект это так репрезентативно
Vitalii
CI срабатывает сразу, как изменилась хотя-бы строка кода
у меня работа всех 5-ти сценариев CI перед деплоем занимает около 12 минут. Выкачка всех заивисомосте. запаковска, тесты и пушы в регистри... так что мне такое вариант не годиться :)
Vitalii
Я оптимизировал как смог :)
Vladimir
не, я в целом с принципом меньш-лучше согласен, просто надо понимать что есть ограничения, под которые люди вынуждены подстраиваться, и самый минимальный вариант не будет работать
Lex
Я оптимизировал как смог :)
оки, тогда какую роль выполняет докер?
Lex
какую проблему решает
Lex
какую проблему решает виртуалка?
Vitalii
оки, тогда какую роль выполняет докер?
свою прямую роль - создает окружение для проекта. Версии базы, пыха, набор пакетов для пыха и тд и тп...
Vladimir
виртуалка решает проблему независимости от ОС
Vitalii
PHP?
да
Vladimir
под виндой нет докера
Vladimir
докер тулс это поделье
Vladimir
нет нет
Vladimir
вот и договорились
Vitalii
точнее есть но очень костыльно, так же и под мак ос
Vladimir
дальше говорить в общем то не очем)
Lex
точнее есть но очень костыльно, так же и под мак ос
а чем костыли от разработчиков докера хуже ваших костылей?
Lex
Так, позвольте я подитожу. Сообщество рекомендует строить процесс разработки вот так: 1. У каждого разработчика запущена ОС в виртуалбоксе на своей локальной машине 2. В виртуалке установлен докер и развернута дев версия проекта 3. На хост машину прокинута папка с кодом проекта 4. База наполняется из заранее заготовленного дампа с тестовыми данными 5. Чтобы ходить на дев версию проекта можно руками прописать все домены в hosts или юзать http://xip.io/ 6. Таким образом можно заранее заготовить образ виртуалки для своего проекта и раздавать его разработчикам для упрощения развертывания. 7. Для упрощения связи между разработчиками можно поднять VPN сеть. Например войти на версию проекта коллеги. Все верно? Может что-то еще порекомендуете?
поднимите “нативный” докер, разверните образ окружения, прокиньте туда рабочую папку с проектом (если это возможно) или уже с собранным проектом который обновляется при сборке, отдельно поднимите контейнер с базой
Lex
куда и заливайте дампы
Lex
все эти контейнера будут доступны на localhost
Lex
производительности docker for windows должно хватить с головой
Lex
отдельная виртуалка тут оверхед, если конечно нет жесткой необходимости в ней
Vladimir
докер фор виндовс та же самая виртуалка
Vladimir
так что оверхед одинаковый
Василий
точнее есть но очень костыльно, так же и под мак ос
собсна у дева получается процесс следующим образом: он качает с гита проект, запускает скачанный конфиг докера - ему выкачиваются все образы и стартовый скрипт воссоздает базу, файлы там генерит какие надо, права и это все. Далее чел подлючает к проекту шторм, запускает тестовый код и проверяет работоспособность системы. Ну и начинает пахать.
Lex
так что оверхед одинаковый
эм, Я ничего не имел ввиду по поводу оверхеда по производительность, имелся ввиду оверхед в управлении всем этим добром