@G_tost
Fullstack developer

Как правильно настроить Docker контейнеры и Ci?

Имеется сервер на котором нужно postgresql + dotnet и плюс к этому для дотнета надо supervisor и nginx для прокси сервера .
Так же имеется Continua CI сервер который билдит файлы и в случае удачного билда заливает их на сервер и выполняет какой-то скрипт для деплоя.
1. Нужен ли в этом случае докер ? Сейчас там скрипт просто останавливает супервайзер и заливает нужные файлы в нужную директорию и потом опять запускает супервайзер .
Как мне показалось в этом случае от докера будут лишь проблемы и лишняя нагрузка на сервер . Т.к нужно будет перебилдивать образ каждый раз когда заливаются новые файлы .
2. Если докер не нужен , то какой инстумент использовать для разворачивания такой простой инфраструктуры ?
Dotnet + nginx+{some}sql;
3. Какой правильный способ интеграции ci+ docker ?
  • Вопрос задан
  • 479 просмотров
Решения вопроса 1
@hoarywolf
С докером у вас ваши файлы билдятся в образ (это не обязательно делать на сервере), контейнер из которого можно запустить на тестовом сервере, на машинах у разработчиков или на боевом сервере. Причем на боевом сервере вы просто гасите старый контейнер и запускаете новый. Если что-то не так, переключаете их обратно.

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

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

Но тут надо понимать, что при таком подходе вам каждый раз на сервер нужно будет передавать (ручками в tgz или через репозиторий) образ, а это обычно сотни мегов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы