Docker: nginx + php-fpm + mysql + lets encrypt

123
I
На сайте с 30.09.2011
Offline
40
#11
kxk:
Stek, ТС считает что можно всё завернуть в докер и 2 щелчка масштабировать при необходимости, мягко скажем он заблуждается:)

Мне пока не надо масштабировать. Мне надо обеспечить своему сервису нон-стоп работу даже при выходе из строя физический одной машины.

Что сейчас есть: N-серверов в облаке (пока N=2, OVH Public Cloud), Failover-IP.

Хочется иметь возможность при выходе из строя одной машины (а такие случаи уже были, до облака, умер рейд на дедике, часть данных похерилась, чинили больше недели), быстро перекинуть всё на вторую. Что бы простой был минимальный.

Почему докер? Не знаю, вот я и хочу узнать это :) Мне показалось, что им очень быстро можно развернуть с одинаковыми настройками N-cерверов. Это не так? Тогда почему оно мне не поможет в моей ситуации?

Допустим "главный сервак" умер.

Так как база реплицировалась на второй, то все данные остались (хочется в это верить), и я просто перекидываю failover на вторую машину, где из докера поднимаю всю нужное окружение сразу в "один клик". Или даже второй сервак всегда на готове, с уже единожды созданым докер окружением.

Я куда-то не в ту сторону думаю?

S2
На сайте с 30.12.2015
Offline
307
#12
iGrog:
Мне пока не надо масштабировать. Мне надо обеспечить своему сервису нон-стоп работу даже при выходе из строя физический одной машины.
Что сейчас есть: N-серверов в облаке (пока N=2, OVH Public Cloud), Failover-IP.

Хочется иметь возможность при выходе из строя одной машины (а такие случаи уже были, до облака, умер рейд на дедике, часть данных похерилась, чинили больше недели), быстро перекинуть всё на вторую. Что бы простой был минимальный.

Почему докер? Не знаю, вот я и хочу узнать это :) Мне показалось, что им очень быстро можно развернуть с одинаковыми настройками N-cерверов. Это не так? Тогда почему оно мне не поможет в моей ситуации?

Допустим "главный сервак" умер.
Так как база реплицировалась на второй, то все данные остались (хочется в это верить), и я просто перекидываю failover на вторую машину, где из докера поднимаю всю нужное окружение сразу в "один клик". Или даже второй сервак всегда на готове, с уже единожды созданым докер окружением.
Я куда-то не в ту сторону думаю?

Зачем так усложнять? Самое, например, топорное решение -

2 сервера с rsync каждый час. - Настраивается за 5 мин. Время простоя = время смены А записи.

Фантазировать можно в этом плане бесконечно самыми простыми решениями, но докер сюда лепить довольно специфически

adel92
На сайте с 04.01.2012
Offline
334
#13
smart2web:
Зачем так усложнять? Самое, например, топорное решение -

2 сервера с rsync каждый час. - Настраивается за 5 мин. Время простоя = время смены А записи.
Фантазировать можно в этом плане бесконечно самыми простыми решениями, но докер сюда лепить довольно специфически

Вот, самое верное и простое решение.

А сервера легче всего поднять с тем ПО и бесплатно на VestaCP ))

NVMe VDS (https://well-web.net/nvme-vps) с поддержкой 24/7 - от 545 руб.! Безлимитный хостинг (https://well-web.net/ssd-hosting) - от 129 руб.! Домен в подарок! Перенос бесплатно! Заказывайте сейчас, и получите скидку 50%! Заходи! (https://well-web.net/limited-offers)
Aisamiery
На сайте с 12.04.2015
Offline
293
#14
WapGraf:
Stek, человеку предлагают простое и разумнее решение его вопроса.

И гдеж это простое и разумное решение?

Вот типичный пример использование докера нашей командой:

Есть у нас репозиторий, в нем есть docker-compose.yml папочка с проектом и папочка docker c настройками (ну там www.conf, symfony.ini и прочее). Приходит новый человек в команду проекта делает clone репы у себя на комп, делает docker-compose up, вливает дамп БД и работает (5 мин времени). Ну а теперь предлагайте свои панели, openvz и так далее.

Я просто вижу что тут хостеры собрались в теме, может для них это и "так себе" инструмент, сырой. Но по факту это очень хороший инструмент для разработки/распространения приложения, в том числе и по серверам. А если еще их и упаковывать в образы, то обновление всего происходит одной командой. Конечно для организации хостинга эт вообще не вариант.

P.S. И да, для докера тоже нужна VPS, он не работает в воздухе.

ТС, тебе нужно посмотреть конфиги для докера по проектам настройки того же lamp, там на самом деле все просто. Быстро развернуть приложение с докером действительно достаточно просто. Контейнеры изолированные, но файлы и база монтируется с хоста во внутрь контейнера.

Может и сырая технология, но она использует виртуализацию системы практически без оверхеда, быстрая развертка приложений вместе с окружением и еще куча плюшек - это многого стоит. Конечно там и не без косяков и поплясать иногда надо, но я чет не припомню офигенно стабильных технологий.

И да, докер конечно же не для новичков. Для работы с ним, надо уметь работать с никсами и уметь развовачивать все ПО с консоли без всяких панелей.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Aisamiery
На сайте с 12.04.2015
Offline
293
#15

Вот так например, неспеша, просто за чашечкой кофе можно развернуть Yii2 со всем окружением. Хотя от кофемашины зависит, можно и не успеть даже кофе налить :)

S
На сайте с 23.05.2004
Offline
316
#16
Aisamiery:
Приходит новый человек в команду проекта делает clone репы у себя на комп, делает docker-compose up, вливает дамп БД и работает (5 мин времени). Ну а теперь предлагайте свои панели, openvz и так далее.

Мне вот интересно, что делают такие разработчики, когда надо одновременно несколько проектов загруженными держать. Запускают каждому свою базу, свой апач, свой nginx - а потом все это проксируют через еще один nginx, что бы оно могло наружу одновременно работать. Как ?

Ну или вышло к примеру обновление openssl пакета. Я у себя глобально его обновил и все уже работает с новым пакетом. А как с докером ? Он ведь свои пакеты подгрузил. Т.е. каждый контейнер надо заново пересобрать, зарелизить, подтянуть на сервер и обновить. А если у тебя с десяток контейнеров, то как понять, в котором тот openssl есть, где он уже обновился а где нет.

Это просто подпись.
Aisamiery
На сайте с 12.04.2015
Offline
293
#17
Stek:
Мне вот интересно, что делают такие разработчики, когда надо одновременно несколько проектов загруженными держать. Запускают каждому свою базу, свой апач, свой nginx - а потом все это проксируют через еще один nginx, что бы оно могло наружу одновременно работать. Как ?

Я на порты на разные развешиваю, чтоб сделать удобно локальнымы доменами есть fiddler. А вообще я не представляю как разработчик может сразу несколько проектов делать (хотя у меня несколько мониторов, но это ситуацию не поправляет), а так запуск докера со скаченными образами происходит примерно от 1 до 5 секунд.

Stek:
Ну или вышло к примеру обновление openssl пакета. Я у себя глобально его обновил и все уже работает с новым пакетом. А как с докером ? Он ведь свои пакеты подгрузил. Т.е. каждый контейнер надо заново пересобрать, зарелизить, подтянуть на сервер и обновить. А если у тебя с десяток контейнеров, то как понять, в котором тот openssl есть, где он уже обновился а где нет.

У докера файловая система строится слоями, то есть один образ может быть основан на образе другого, как бы накатывает слоями. Ели вы обновите в рутовом (сам образ на хабе) от которого все слоиться (наследуется), обновится везде. Да и никто вам не мешает накатить новый слой. (это как я понимаю, просто у нас заведуют всем этим делом админы, а мы, разработчики работаем с готовыми образами, по этому могут быть неточности, лучше проверить)

А теперь подумайте про свой глобалспейс, как вы все это будете перемещать, когда все выйдет за рамки одной машины? Например даже есть у вас тот же образ виртуалки, который стоит на 100500 машинах, вы когда пакет openssl решите обновить, как вы его глобально обновите на всех 100500 машинах? А еще у вас зависимости которые нельзя обновлять иначе что то крашиться. А БД например нужна одна версия либы, а другому контейнеру таже либа нужна но другой версии? А еще конфиги поменяются? А еще разные версии бд, пхп, и другого ПО требуются иногда. А еще, а еще, а еще. А еще 100500 причин по которым на текущий момент у докера 38 764 звезды на гитхабе, чем не каждый опенсурс может похвастаться. Например у то же CMS на которой пишут все кому не лень (вордпресс) всего 8 549. Так что если вы до сих пор считаете что ваше мнение единственно верное, я тут ничем помочь не могу, наверное у вас нет либо задач для докера, либо вы просто не поняли что это и как этим пользоваться. Да и в принципе, если у вас 1 сервак на один проект который по факту не требует виртуализации, думаю что действительно, докер вам не пригодится. Так как это, если подумать, просто один из подходов виртуализации. Мы раньше юзали вагрант, пока не дошло дело до обновлений, а без распространения образов нам никак (ну то есть не прокатит слить файлики по фтп в свое окружение, которое отличается от боя практически в 100% или править проект на бое)

MIRhosting.com
На сайте с 18.10.2006
Offline
203
#18

ТС, Вам надо на другой форум с этими вопросами. Здесь десяток людей знает что такое докер, и единицы реально имели с ним дело а не просто придумали себе это. Типичная ситуация, не пробовали, не знаем что это но знаем что плохо.

По Вашим вопросам.

Идеология докеров напрямую связана с микросервисами. Другими словами, да, Вы можете собрать докер образ в который поставите все написанное, но это не правильно. Правильно - это один докер с nginx, второй докер с базой и т.д.

Каждый контейнер/кирпичик независим, может независимо друг от друга обновляться, заменяться, масштабироваться и т.д.

Насколько Вам нужно делать свои собственные докер сборки - я не знаю. Все что Вы написали уже есть в докерхабе. Вам нужен лишь оркестратор, который будет это собирать. Где Вы опишите - мне надо nginx такой-то версии с таким-то конфигом, такая-та база и т.д.

Оркестраторы - это и собственный докер клауд (бета стадия), и гугловские kubernetes, и jelastic оркестратор.

Андрей Нестеренко, MIRhosting Облачная платформа для DevOps (https://mirhosting.com/paas)
kxk
На сайте с 30.01.2005
Offline
970
kxk
#19

MIRhosting.com, Не пугайте ТС Эластиком, прошу Вас:)

kubernetes - есть у кого вживую?

P.S. Погуглил я лучше 10 OpenVZ серверов стартану и закину в кластер:)

Ваш DEVOPS
Aisamiery
На сайте с 12.04.2015
Offline
293
#20
kxk:

P.S. Погуглил я лучше 10 OpenVZ серверов стартану и закину в кластер:)

Тут самый главный вопрос: "Для чего?". Для решения ряда задач, конечно OpenVZ хорошо подойдет, но для решения оставшегося ряда задач - совсем не подойдет.

Задачи которые решает например докер и OpenVZ, мягко сказать, совсем разные. Я например не знаю, зачем БД иметь доступ к вэбсерверу и к проекту, а веб серверу к бд. Или вы в одном контейнере установите БД, а в другом вебсервер и сможете это перелинковать в одну сторону через контейнер с пхп? (я просто не знаком с OpenVZ, по этому и интересуюсь)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий