George
А запускать башем
George
Или ансиблом https://docs.ansible.com/ansible/latest/modules/docker_container_module.html
Anonymous
Да можно не хочется
Anonymous
Ансибл тоже ок но не хочется
George
Или вообще забить на компоуз
Anonymous
Anonymous
Интересно послушать варианты, тут много опытных ребят 👨‍✈
George
Node.js imho
George
Ну, у коллеги проблема, что он не учитывает, что база может отъехать в любой момент
Gleb
Интересно послушать варианты, тут много опытных ребят 👨‍✈
Надо просто не релоадить базу и nginx на каждый чих. Выноси их в docker-compose.infra.yaml
George
Более того - если нода отъедет до момента старта nginx, то он тоже не запустится
Anonymous
nodejs стартует быстрее чем дамп базы , вылетает с ошибкой, что базы нет, и падает
Gleb
nodejs стартует быстрее чем дамп базы , вылетает с ошибкой, что базы нет, и падает
Ну по идее он должен уйти в restarting а контейнер будет жить
Anonymous
Я понимаю что можно баш или ансибл или ещё подобные варианты, но интереснее средствами докера
Anonymous
Нет, тоже как решение не очень, так как я не отвечаю за приложение
Gleb
ну и вообще, релоадить базу это шото странное
George
Короче
George
Здесь архитектурная проблема
George
Поясню
George
Сервисы должны быть независимы
George
Когда они ВСЕ стартанут, то они все идут в что нибудь типа консула
George
И находят друг друга
Anonymous
Не нужно консул
George
А ещё правильная идея - выкинуть nginx в пользу traefik
George
Я трефику дал сокет докера, а дальше конфиг лейблами описал
George
Как минимум - фронт не кирдык, если базы нет
Anonymous
Трафик, окей, хороший совет
George
Traefik
Anonymous
Так а что делать с тем что бы были хелсчеки и зависимости
Anonymous
Есть решения через докер непосредственно ?
George
Хелсчеки - да
George
Зависимости - нет
George
Я пояснил почему
Anonymous
Консул я не буду использовать
Anonymous
А рестарт он файл по хелсчеку есть? У копосера?
Anonymous
Я пояснил почему
С зависимостями согласен, этого не должно быть
George
Есть отдельный контейнер для этого
George
Образ позабыл. Но гуглится
Anonymous
Получается будет ещё вочдог
George
Сам докер умеет restart = always, но по-моему, он не на хелсчек
Anonymous
Который будет хелсчекать и дергать хост
Anonymous
Сам докер умеет restart = always, но по-моему, он не на хелсчек
Кстати, может быть в моем случае вполне вариант ✔️
George
https://stackoverflow.com/questions/47088261/restarting-an-unhealthy-docker-container-based-on-healthcheck
George
Короче, рестарт и хелсчек это меньшая из проблем
George
Пжлст
Anonymous
Интересный вариант
Anonymous
Боже храни lxc/lxd
George
Боже храни lxc/lxd
Это опасно
Anonymous
Это опасно
И то верно
Konstantin
Зависимости depends on ерунда
оно работает ровно на столько, на сколько оно было задумано и описано в доке
George
А довести до ума коммьюнити и владельцу кода .... Было слабо
Sun
Sun
Прислали сегодня вопросник на вакансию. Пришлось писать свой ответ. :)
Ильдар
Konstantin
А вообще да, дичь какая-то
George
+💯
Anonymous
решений и\или костылей куча - понять почему так происходит и починить будет не сложно
Такой код, который падает если нет подключения к БД, что уж тут поделать,
Anonymous
Решение restart: auto оказалось отличным вариантом, падает пока база не будет работать потом работает хорошо
Konstantin
что-то я не помню авто там
Sun
И всё равно неверный 😅
Если ты имеешь в виду «&& \» проблемой, то я тоже её заметил, но она не так существенна, как остальное
Konstantin
да забей, это дичь какая-то, не дружи с ними
Konstantin
Если ты имеешь в виду «&& \» проблемой, то я тоже её заметил, но она не так существенна, как остальное
https://habr.com/company/southbridge/blog/329138/ даже если взять nginx:alpine, который ты советуешь, то там CMD )
Sun
https://habr.com/company/southbridge/blog/329138/ даже если взять nginx:alpine, который ты советуешь, то там CMD )
Там cmd по другой причине. А я как раз ставлю в ентри потому что можно запустить контейнер со специальными аргументами без ебли с переназначением исполняемого файла
George
Я как правило делаю точно так же. Переменная часть - в cmd. Постоянная - в entrypoint. Если пользователю приспичит исполняемый файл перезаписать, то его и энтрипойнт не остановит )
Anonymous
Какие нужны порты для докер сварма? У мастера и у воркера