Как масштабировать контейнеры Docker в производстве
Так что я недавно обнаружил этот удивительный инструмент, и он говорит
Docker-это проект с открытым исходным кодом, который легко создает легкий вес, портативные, самодостаточные контейнеры от любого применения. Тот же контейнер, который разработчик создает и тестирует на ноутбуке, может работать в масштаб, в производстве, на виртуальных машинах, голый металл, кластеры OpenStack, общественные облака и многое другое.
допустим, у меня есть изображение docker, которое запускает Nginx, а веб-сайт подключается к внешнему база данных. Как я масштабирую контейнер в производстве?
10 ответов:
короткий ответ заключается в том, что вам придется написать собственную логику для этого.
Я ожидал бы, что такая функция появится в следующих проектах, построенных поверх docker и предназначенных для поддержки приложений в производстве:
обновление 1
другой проект я недавно обнаружил:
обновление 2
последний релиз Openstack содержит поддержку управления контейнерами Docker:
обновление 3
система управления экземплярами Docker
и a презентация о том, как использовать такие инструменты, как упаковщик, Docker и Серф для доставки неизменяемого шаблона инфраструктуры сервера
обновление 4
аккуратная статья о том, как соединить вместе контейнеры docker с помощью серф:
обновление 5
запустить Докер на Мэсос С помощью марафон рамки
Mesosphere Docker Developer Tutorial
обновление 6
запустить Докер на Тсуру как он поддерживает docker-cluster и отдельный планировщик развернуть
обновление 7
Docker-based environments orchestration
обновление 8
обновление 9
Google kubernetes
обновление 10
Редхат были переработать свой openshift PaaS-платформы для интеграции Докер
обновление 11
Docker NodeJS lib обертывает командную строку Docker и управляет ею из файла json.
обновление 12
новый Amazon контейнер позволяет масштабирование в кластере.
обновление 13
строго говоря Flocker не" масштабирует " приложения, но он предназначен для fufil связанной функции создания контейнеров с отслеживанием состояния (запуск служб баз данных?) портативный через несколько хостов docker:
обновление 14
проект для создания портативных шаблонов, описывающих Docker приложения:
обновление 15
проект "докер" в настоящее время рассматривает согласование исходно (см. объявление)
обновление 16
посмотреть также:
обновление 17
проект Openstack теперь имеет новый проект "контейнер как сервис" под названием Magnum:
показывает много обещаний, позволяет легко настроить Docker orchestration Framework, такие как Kubernetes и Docker swarm.
обновление 18
Rancher - это проект, который быстро созревает
приятный пользовательский интерфейс и сильный акцент на hyrbrid инфраструктуры Докер
обновление 19
The проект решетки является ответвлением Cloud Foundry для управления кластерами контейнеров.
обновление 20
настройки недавно купил Тутум:
обновление 21
диспетчер пакетов для приложений, развернутых на Kubernetes.
обновление 22
Vamp-это платформа с открытым исходным кодом и автономным размещением для управления (микро)сервис-ориентированными архитектурами, которые полагаются на контейнерные технологии.
обновление 23
Распределенный, Высокодоступный, Ориентированный На Центр Обработки Данных Планировщик
от ребят, которые дали нам бродячий и другие мощные инструменты.
обновление 24
контейнерное хостинг решение для AWS, с открытым исходным кодом и на основе Kubernetes
обновление 25
контейнер на основе Apache Mesos размещен в Германии
https://sloppy.io/features/#features
И Docker Inc. также предоставляем услугу хостинга контейнеров под названием Docker cloud
обновление 26
Jelastic - это размещенная служба PAAS, которая автоматически масштабирует контейнеры.
Deis автоматизирует масштабирование контейнеров Docker (среди прочего).
Deis (произносится DAY-iss) - это PaaS с открытым исходным кодом, который упрощает развертывание и управление приложениями на ваших собственных серверах. Деис строит на настройки и CoreOS чтобы обеспечить легкий PaaS с рабочим процессом, вдохновленным Heroku.
вот рабочий процесс разработчика:
deis create myapp # create a new deis app called "myapp" git push deis master # built with a buildpack or dockerfile deis scale web=16 worker=4 # scale up docker containers
Deis автоматически развертывает контейнеры Docker через a CoreOS кластеризует и настраивает маршрутизаторы Nginx для маршрутизации запросов в работоспособные контейнеры Docker. Если узел умирает, контейнеры автоматически перезапускаются на другом узле в считанные секунды. Просто перейдите к URL-адресу прокси-сервера или используйте
deis open
чтобы поразить ваше приложение.некоторые другие полезные команды:
deis config:set DATABASE_URL= # attach to a database w/ an envvar deis run make test # run ephemeral containers for one-off tasks deis logs # get aggregated logs for troubleshooting deis rollback v23 # rollback to a prior release
чтобы увидеть это в действии, проверьте видео терминала на http://deis.io/overview/. Вы также можете узнайте о концепциях Deis или перейти прямо в развертывание собственного частного PaaS.
взгляните на Rancher.com - он может управлять несколькими хостами Docker и многое другое.
вы можете попробовать Tsuru. Tsuru является открытым исходным кодом PaaS вдохновил в Heroku, и это уже с некоторыми продуктами в производстве на Globo.com (интернет-подразделение крупнейшей вещательной телевизионной компании в Бразилии)
Он управляет всем потоком приложения, так как создание контейнера, развертывание, маршрутизация (с помощью hipache) со многими приятными функциями, такими как docker cluster, масштабирование единиц, сегрегированное развертывание и т. д.
посмотреть в нашей документации реветь: http://docs.tsuru.io/
здесь наш пост охватывает нашу окружающую среду: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
разумным подходом к масштабированию Docker может быть:
- каждая служба будет настройки контейнер
- Intra container service discovery управляется через ссылки (новая функция от docker 0.6.5)
- контейнеры будут развернуты через Докку
- приложения будут управляться через завода который в свою очередь использует hipache
еще один проект docker с открытым исходным кодом от Яндекса:
ребята из Openshift также создали проект. Вы можете найти дополнительную информацию здесь попробуй тестовый контейнер и подробная информация здесь . Единственная проблема-это решение Redhat centric на данный момент:)
в то время как мы большие поклонники Deis (deis.io) и активно развертываются на нем, есть и другие Heroku, такие как решения для развертывания стиля PaaS, в том числе:
портовый грузчик из The Wayfinder folks:
https://github.com/longshoreman/longshoreman
Декер из CloudCredo людей, используя CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
Как по прямым оркестровка, проект NewRelic с открытым исходным кодом Centurion кажется довольно перспективным:
Panamax: управление Докером для людей. Панамакс.Ио
рис.: быстрые изолированные среды разработки с использованием Docker. fig.sh