Есть ли причина * не * запускать HAProxy в контейнере Docker?
Будет ли производительность и / или стабильность ухудшаться, если я запусту HAProxy (или Nginx) в контейнере, а не установлю его непосредственно на хост?
2 ответа
На https://stackoverflow.com/a/26149994/684908 есть хороший ответ на вопрос о производительности. Tl;dr заключается в том, что NAT (переадресация портов в некоторых случаях) вносит некоторую задержку. Тем не менее, это, вероятно, незначительно в меньших масштабах.
Я запускаю HAProxy как производственный контейнер с переадресацией портов через мост Docker NAT. Приложение и HAProxy изначально работали на голом железе. Любая задержка или издержки, которые могли быть внесены Docker, слишком незначительны, чтобы сказать.
Основная проблема должна заключаться в том, что вам придется ждать обновления контейнера, прежде чем получать какие-либо исправления безопасности, функций или исправлений. Ты не можешь просто бежать yum
/apt-get
/yast upgrade
на хосте вам нужно либо перестроить контейнер самостоятельно, либо дождаться, пока кто-то другой сделает это.