Maxim
yopp
yopp
entrypoint в свой скрипт, который настроит базу перед запуском приложения
yopp
и сделает exec в само приложение
yopp
а
yopp
« Но я не могу собрать контейнер с приложением сам по себе. »
yopp
не очень понял
yopp
причём тут приложение и база?
yopp
и кто кого должен готовить?
Maxim
Приложение применяет миграции к базе.
yopp
так.
yopp
ну. depends_on + entrypoint.sh в приложении, которое накатит миграцию и запустит приложение
yopp
сборка в этом случае уже нипричём
Maxim
То есть это нормально, когда, условно, половина приложения собирается в Dockerfile, половина в entrypoint?
yopp
если ты не можешь поставлять готовый образ базы, то да
Logan
коллеги-девопсы, посоветуйте, как лучше мониторить состояние SSD? SMART media wearout indicator + media relocation sectors?
Aleksey
yopp
если можешь поставлять готовый образ, то при сборке контенера с базой можно просто прогнать миграцию
Aleksey
Не Нормально
Maxim
Maxim
Но это не окончательный вариант.
yopp
ну сделай докерфайл унаследуй его от postgress и делай там внутри что надо
yopp
да
Maxim
А вообще насколько это хорошая затея запускать БД в контейнере? Натыкался на мнение, что конкретно БД и так сама по себе изолирована, что мало смысла держать её в контейнере.
Alf 🙀
tenni
yopp
мы пускаем в контейнере, потому что иначе ей надо управлять отдельно
Aleksey
Докеровцы крутят
yopp
а это геморой
Aleksey
Остальным не рекомендуют
yopp
самая большая проблема это сторадж
Aleksey
И дело не в изоляции а в стейте
tenni
решили же в 1.9
yopp
Maxim
от чего бд сама по себе изолирована?
https://www.amon.cx/blog/docker-in-production-for-the-average-devops/
Ну вот тут в самом конце.
Я ничего не могу аргументировать, просто прочитал.
tenni
разве? volume же запилили
yopp
yopp
у меня 10 хостов только на стейджинге
yopp
контейнер подох и запустился на новом хосте
Alf 🙀
yopp
flocker частично решает эту проблему
tenni
https://docs.docker.com/engine/reference/commandline/volume_create/
yopp
и?
yopp
оно на хосте создаёт
Vladimir
@polnoch тетенька, я понимаю что у вас очень Чорный очки на тему России, но Вы все ж откровенную чушню говорите
tenni
tenni
за flocker спасибо
yopp
но с флокером тоже есть проблема
yopp
есть у меня например монга
yopp
у меня на неё один компоуз
yopp
там один сервис
yopp
я делаю scale до 3 инстансов и сосу
yopp
потому что им всем будет один и тот-же вольюм
tenni
понятно, частично только проблему решили
yopp
да вообще не решили, просто прибрали мусор с data containers в отдельную сучность «volume»
Alf 🙀
yopp
я собственно прямо сейчас пытаюсь придумать как засунуть монгу в докер, так чтоб без особой боли. пока понятно что volumes тут не особо спасают и надо делать какую-то хитровыебанную распределённую систему, которая нормально переживает проёб нод и умеет ещё оффсайт бекапится
Maxim
@dd_bb спасибо за советы, буду пробовать.
yopp
но там уже всё ломается об кейс «мы подняли 5 монг, как гаранитровать что только одна будет мастером?»
tenni
yopp
пока ничего лучше silent period я не придумал. запускаешь, ждёшь минуту, если за минуту другие ноды не появились в service discovery, значит ты первый.
yopp
если появились, значит ждём пока кто-то не станет мастером
tenni
я думал мб балансер использовать для этих целей
tenni
тип заснул - стучи на следующий
yopp
монга сама с этим справляется неплохо
yopp
проблема только с первым запуском
tenni
ну у меня не монга, а так твое решение хорошее, только downtime будет?
yopp
там внутри монги уже есть node discovery и ты можешь просто посмотреть кто ещё есть и добавить их в failover list
tenni
круто-круто
yopp
в монге если отъехал мастер будут выборы и все клиенты переключатся на нового мастера
yopp
понятно что если приложение не умеет retry операции у тебя будет какое-то число отказов
yopp
но прямо валятся не будет.
yopp
но может быть больно если из-за высокой нагрузки реплики например отставали
tenni
в целом сценарий понятен
Dmitry
Где канал nutanix?
Alexander
Всем привет. Александр Бурцев PM в МФТИ ЦИОТ, образовательные платформы. CEO BramaBrama.com разработка web сервисов на Python/Django. Есть задачи в области mobile dev. Узнал о группе через канал devconf, где делал доклад по конвейерной разработки сложных web-проектов.
קפיצת
https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558#.kn97pp3j2
Denis
Круто