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

Простое приложение-докер - как легко развернуть?

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

На моей машине разработки он работает безупречно, используя docker-compose.

Для производства это приложение будет использовать Amazon SES и некоторая база данных, например Amazon DynamoDB. В этой комбинации сами контейнеры не нуждаются в постоянном хранилище. Из-за этих сервисов моя первая мысль, очевидно, состоит в том, чтобы использовать Amazon EC2 для размещения приложения.

Мои основные цели сейчас:

В начале запуска веб-сайта я ожидаю, что один экземпляр EC2 легко справится с нагрузкой, возможно, с пиками двух или трех экземпляров EC2 в праздничные дни.

Собственное решение Amazon для хостинга Docker (с балансировщиком нагрузки и автоматическим масштабированием) выглядело очень многообещающим, но, будучи новичком в Amazon, я не смог заставить эту вещь работать, в том числе из-за того, что конфигурация выглядит очень сложной, и вам нужно собрать части самостоятельно .

Я хорошо знаком с другими типами кластеров (в основном на основе Proxmox), но все же Amazon Web Services выглядит сложным (по крайней мере, консоль конфигурации).

Есть ли какое-нибудь альтернативное решение, которое упростит это?

Я потратил много времени на изучение Docker Cloud / Tutum (кажется дорогим), Docker Swarm, Rancher и других (большинство из них - «бета»), но все еще не понимаю, какой путь выбрать.

Как бы вы развернули такое приложение?

Если у вас уже все работает локально, просто посмотрите на докер-машину. С помощью всего лишь набора ключей API от предпочитаемого вами поставщика ваш docker compose будет запускаться в производственном развертывании: https://docs.docker.com/machine/drivers/

Oreilly только что выпустил электронную книгу на эту тему: https://exoscale.ch/docker-in-the-cloud