@cema93
WordPress разработчик

Имеет ли смысл использование Docker?

Добрый день!

На текущий момент имею сервер vps на debian, характеристики: 1 ядро 2,4 GHz, 1 гб оперативки, 30 ГБ диск.
На этом сервере крутится php приложение. для управления сервером используется ISPmanager.
Изза ISPmanager я имею ограничения по использованию ПО. Также есть проблема с утечкой памяти изза чего приходится перезагружать php-fpm каждые несколько часов

Задача, которую я ставлю перед Docker:
1) Тонкая настройка каждой службы.
2) поднятие load balancer, запуск нескольких версий php backand и проверка их работы. перезагрузка при падении или утечки памяти.

Те, кто в теме, подскажите, насколько это оправдано(docker-compose уже собран и готов к работе)?
Чем лучше оркестрировать docker-compose, как обновлять приложение без простоя, как рассчитывать необходимые ресурсы для контейнеров?

PS исправить ошибку в приложении не предлагать :)
  • Вопрос задан
  • 3766 просмотров
Пригласить эксперта
Ответы на вопрос 4
index0h
@index0h
PHP, Golang. https://github.com/index0h
Импакт от докера по ресурсам довольно низкий, но для такого куцого сервера он может быть ощутим.
Тонкую настройку он не обеспечит, а сложностей добавит.
Про лоад балансер забавно. Какой смысл заморачиваться с распределением нагрузки на калькуляторе?
На счет утечки - исправить таки стоит. Что касается восстановления при падении - смотрите в сторону supervisord, что касается убивания обожравшегося процесса - oom killer.

Те, кто в теме, подскажите, насколько это оправдано(docker-compose уже собран и готов к работе)?

Для dev целей - оправдано, для оркестрации в рамках одной машины - оправдано.

Чем лучше оркестрировать docker-compose

Да как бы сам docker-compose вполне себе оркестрирует на одной машине.

как обновлять приложение без простоя

Это вопрос процесса разработки. Само приложение должно разрабатываться так, что бы в момент релиза могли существовать как минимум две версии релиза.
Но, у вас по утечке ребутается php-fpm, не парьтесь.

как рассчитывать необходимые ресурсы для контейнеров?

На основании средней и пиковой нагрузки.

https://www.youtube.com/watch?v=lHpVxk9TPA8
Ответ написан
Slavenin999
@Slavenin999
программист php/erlang/elixir/js
Шта? Докер на микро ВМ? Что там балансировать то? И да, зачем что-то балансировать внутри одной ВМ? Балансировать надо между несколькими. В этом случае можно обернуть в докер пыхочные приложеньки, на отдельной вм поставить nginx без доокера и настроить проксирование.
Имхо, на такой ВМ докер выглядит оверхедом
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
На этом сервере крутится php приложение. для управления сервером используется ISPmanager.
Изза ISPmanager я имею ограничения по использованию ПО. Также есть проблема с утечкой памяти изза чего приходится перезагружать php-fpm каждые несколько часов

Начните с управления сервером через CLI, это решит часть проблем.
Для перезагрузки тоже докер не нужен.
Ответ написан
Комментировать
Ааааааа, просто настройте php-fpm
pm.max_requests = 300 или 500

P. S. Просто тонкая настройка ПО решит проблему. Не нужно стрелять себе в ногу пытаясь перевести все в контейнеры)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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