Назад | Перейти на главную страницу

Подходит ли докер для использования в долго работающих контейнерах?

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

В настоящее время я подумываю использовать докер для этой изоляции. Но я не уверен, что докер здесь правильный инструмент. Я попытался найти ответ в Google, но большинство сообщений, которые я нашел о докере, относятся только к краткосрочным контейнерам для целей разработки, ci или тестирования. В моем случае это было бы больше похоже на наличие долгосрочного контейнера, который запускает, например, стек веб-службы с nginx, php и mysql / mariadb (в то время как db может даже получить свой собственный контейнер) и другой контейнер, который запускает другие службы.

поэтому мой вопрос: подходит ли Docker для задачи запуска контейнера в течение более длительного времени. или другими словами ... можно ли использовать докер в качестве «замены» виртуальным машинам на базе kvm?

Как и в случае со всеми суждениями, в любом ответе будет какое-то мнение. Тем не менее, можно сказать, что контейнеризация - это не виртуализация. Это разные технологии, работающие по-разному, с разными плюсами и минусами. Чтобы рассматривать контейнеризацию как виртуализация lite является фундаментальной ошибкой, так же как ошибочно рассматривать виртуализированного гостя как дешевый выделенный сервер. Мы видим много вопросов по SF от людей, которым продали контейнер как "дешевый VPS"; не понимая, что у них есть, они пытаются относиться к нему как к виртуализированному гостю и причиняют себе проблемы.

Контейнеризация, несомненно, отлично подходит для разработки: она позволяет очень быстро разворачивать очень большое количество сред и, таким образом, очень упрощает разработку на нескольких быстро меняющихся копиях медленно меняющейся базовой серверной части. Обратите внимание, что в этом сценарии все контейнеры очень похожи по инфраструктуре и функциям; все они, по сути, тонко разные копии одной серверной части.

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

Если вы решили развернуть в производственной среде на контейнерах, не забывайте о том, что вы сделали, и не думайте, что ваше развертывание виртуализировано; помните, что экономия денег связана с альтернативными издержками. Отрежьте пальто в соответствии с вашей тканью, и у вас будет хороший опыт. Но позвольте себе (или, что чаще всего, руководству) неправильно понять, что вы сделали, и могут возникнуть проблемы.

Docker используется повсеместно для веб-приложений, которые являются долго работающими приложениями. В настоящее время в процессе производства у меня в докере запущено следующее:

  • приложения php-fpm
  • рабочие очереди сельдерея (питон)
  • приложения nodejs
  • Java Tomcat7
  • Идти