2015-03-28 3 views
3

Я пытаюсь понять, как докер можно использовать для докетирования многослойного приложения.Как Docker может использоваться для многоуровневого приложения?

Приложение tomcat требует mongodb, mysql, redis, solr и rabbitmq. Я играю с Докером уже пару недель. Я могу установить и использовать контейнеры mongo/mysql. Но я не понимаю, как я могу полностью отправить приложение с помощью Docker. У меня мало вопросов.

Как должны быть изображения. Должен ли я иметь одно изображение с установленными компонентами или отдельными изображениями (например, для tomcat, one for mongo, one для mysql и т. Д.) И запускать эти контейнеры с использованием сценария bash вне докеров.

Что такое докерный способ одновременного обслуживания нескольких контейнеров. Смысл сказать, что у меня есть несколько контейнеров (например, mongo, mysql, tomcat и т. Д.), Которые необходимо сработать вместе для запуска моего приложения. Есть ли какой-либо встроенный способ справиться с этим, чтобы одна команда/скрипт выполняла это?

Предположим, что я докерезую свое приложение, как я могу управлять различными рутинными задачами, которые нужно выполнять, например, для инкрементного развертывания кода, патчей базы данных и т. Д. В настоящее время мы используем бродягу, мы также используем ткань вместе с бродягой для различных задач. vagrant up мы используем fab-задачи для всех видов обычных вещей, таких как развертывание кода, обновление db, добавление томов, запуск/остановка и т. д. Каким будет способ докера?

С Vagrant, если VM сбой из-за высокой производительности CPU и т. Д. Не влияет на хост-систему. Но я вижу, что докер питается множеством ресурсов хозяина. Можем ли мы установить ограничения на это, скажем, не более одного ядра процессора для этого контейнера и т. Д.??

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

ответ

1

Я советую вам посмотреть на docker-compose:

  • вы будете иметь возможность определить архитектуру приложения
  • вы можете легко построить и запустить его (с помощью одной команды)
  • почти такая же настройка для dev и prod
+0

Спасибо! Посмотрите на это. – titogeo

1

Для микросервисов, композиции и т. д. Я не буду пересказывать это.

Для containet распределения ресурсов:

Docker запуска имеет различные варианты управления ресурсами (с помощью Google) см контрольных групп моя суть здесь

https://gist.github.com/afolarin/15d12a476e40c173bf5f

+0

Спасибо! Посмотрите на это. – titogeo

Смежные вопросы