αιβεν
Зачем
ты ж на это ответил выше
inqfen
А у них статика и fastcgi pass и это все
αιβεν
просто у внешнего прокчи на хосте не должно быть ничего связаного с приложением
αιβεν
просто редиректит трафик и контролирует сертефикат
inqfen
Ну так у прокси и не будет
αιβεν
а тот что внутри уже управляет как распределять, что на АПИ идет, что с реактам
inqfen
Он знает только имена контейнеров, куда надо дальше отправить
inqfen
В общем nginx на хосте не нужен
inqfen
Серты сразу на роутер, который на схеме
inqfen
И в общем-то вот
inqfen
А ему просто в conf.d подкладываешь конфиги как куда нужно сходить
inqfen
Типа там редирект на https и proxypass с именем контейнера
inqfen
И server_name конечно
George
А вообще можно и уменьшить их количество ещё меньше
αιβεν
конкретно сейчас у меня вообще 1, но я расписал на СО какие при этом проблемы
αιβεν
Серты сразу на роутер, который на схеме
я так сейчас и конекчу через вольюмы, но обновить их не могу из-за этого
inqfen
?
inqfen
Обновил - > релоад
inqfen
Простоя нет, что ещё надо
αιβεν
certbot должен получить подтверждение от энжинкса которым управляет
αιβεν
а в контейнер он не может постучать
inqfen
Certbot может и без nginx работать например
αιβεν
из котого что я видел в интернетах так это цеплять цербота в отдельный контейнер и запускать периодически
inqfen
Или на основе записей в твоём домене например, тогда nginx не нужен вообще
αιβεν
Certbot может и без nginx работать например
ему ж нужно получить ответ от моего сервера что это именно он требует обновить сертефикат
⁣Денис
Всем привет. Есть докер-компоуз с сервисами. Стоит задача запустить их все, кроме одного. Потом уже в нужный момент дозапустить этот оставшийся контейнер. Не подскажите как можно это сделать?
inqfen
А какая причина его тормозить?
inqfen
Докер-композ не умеет в логику, потому или его в скрипт оборачивать, где явно такие сервисы запускаешь, а потом такой
inqfen
Либо в entrypoint клнтейнеру ожидание добавить
αιβεν
в компоузе для этого сервиса:`cmd: ['./run.sh']`. а в там уже sleep 10; exec gunicorn --foo-bar
Kool
ставьте restart on error
Kool
и ставьте пробовать 5 раз например
Kool
с интервалом в 30 секунд
Kool
я так понимаю проблема что бекенд стартует раньше базы
Kool
ещё можно настроить depends_on
Kool
улучшит ситуацию, но мне лично не помогло
αιβεν
потому что депенд он не дожидается пока команда в контейнере полностью запуститься
αιβεν
я везде слипы кидаю если очень нужно
⁣Денис
Докер поднимается для тестов в CI и один из сервисов интерферирует с частью тестов.Поэтому нужно поднять часть сервисов - прогнать тесты, доподнимать и прогнать оставшиеся тесты. Все это из баш-скрипта запускается, так что видимо придется удалить проблемные сервисы из докер-компоуза и дозапускать их отдельно уже в нужный момент.
Kool
можно подлечить логику приложения
Kool
чтобы при старте пытался N секунд подключаться
Kool
такой способ сам докер советует
Kool
Глупость
не глупость, зависит от того как контейнер реализован
George
Расскажу. Делай depends_on: healthy и расставь хелсчек нормально
inqfen
тесты - одно, развертывание приложения - другое
Kool
бывают приложения после старта приложения какую то важную логику стартуют (например миграции)
αιβεν
либо создать для тестов отдельный компоуз без него
George
Но это сильно хрупкая логика - раз. Два - работает только во второй версии формата докер-компоуза (не третьей)
George
бывают приложения после старта приложения какую то важную логику стартуют (например миграции)
Ну, и очевидно хелсчек подымать только после выполнения миграций
inqfen
ну или хоть в баш оборачивают, не надо пытаться из докер-композа логику получить)
Kool
у меня сейчас в тупую рестартит приложуху 5 раз каждые 30 секунд
Kool
если нет - выливка фейлится
inqfen
Это тупо же утилита, которая docker run облегчает
⁣Денис
можно кинуть проблемный сервис в отдельный компоуз файл и указывать его когда он нужен
Да, приходила в голову такая мысль. Просто думал, есть какие-нибудь ручки или хаки для такой ситуации. Спасибо.
inqfen
Не надо из нее несвойственные задачи трясти
George
Можно сделать вообще по красоте. Оберни все докеры в системд юниты. И делай любую логику старта
inqfen
написать плейбук или башскрипт куда проще как по мне
inqfen
Куда?
на другой сервер например, на 100 других серверов
George
Докер-компоуз ты в кубер тоже не затащишь
George
на другой сервер например, на 100 других серверов
Та пофиг. Докер не на системд бейзд дистрибутиве? Шутишь, да?
inqfen
почему в кубер, просто развернуть приложение на 10 инстансах в aws например
inqfen
просто делаешь скрипт/плейбук, складываешь вместе с кодом и юзаешь как надо
George
просто делаешь скрипт/плейбук, складываешь вместе с кодом и юзаешь как надо
Плейбук для доставки конфигурации на целевые машины