Как масштабировать контейнеры Docker в производстве
поэтому я недавно обнаружил этот удивительный инструмент, и он говорит
Docker-это проект с открытым исходным кодом для легкого создания легкого, портативные, самодостаточные контейнеры от любого применения. Тот же контейнер, который разработчик создает и тестирует на ноутбуке, может работать в масштаб, в производстве, на ЗИС, голый металл, кластеры OpenStack, общественные облака и многое другое.
предположим, у меня есть образ докера, который запускает Nginx, а веб-сайт подключается к внешнему база данных. Как я масштабирую контейнер в производстве?
10 ответов
короткий ответ заключается в том, что для этого вам придется написать свою собственную логику.
Я ожидал бы, что такая функция появится из следующих проектов, построенных поверх docker и предназначенных для поддержки приложений в производстве:
обновление 1
другой связанный проект I недавно обнаружил:
обновление 2
последняя версия Openstack содержит поддержку управления контейнерами Docker:
обновление 3
система управления экземплярами Docker
и a презентация о том, как использовать такие инструменты, как упаковщик, Docker и Серф для доставки неизменяемого шаблона инфраструктуры сервера
обновление 4
аккуратная статья о том, как соединить контейнеры docker с помощью серф:
обновление 5
запустить Docker на Мэсос С помощью марафон рамки
Мезосфера Docker Разработчик Учебник
обновление 6
запустить Docker на Тсуру как он поддерживает докер-кластерный и отдельный планировщик развернуть
обновление 7
оркестровка сред на основе Docker
обновление 8
обновление 9
Google kubernetes
обновление 10
Redhat переработали свои OpenShift PAAS для интеграции Docker
обновление 11
A Docker NodeJS lib обертывание командной строки Docker и управление ею из файла json.
обновление 12
новый Amazon контейнер позволяет масштабирование в кластере.
обновление 13
строго говоря Flocker не" масштабирует " приложения, но он предназначен для fufil связанной функции создания контейнеров с состоянием (запуск служб баз данных?) портативный через несколько хостов docker:
обновление 14
проект для создания переносных шаблонов, описывающих Docker приложения:
обновление 15
проект Docker теперь обращается к оркестровке изначально (см. объявление)
обновление 16
посмотреть также:
обновление 17
проект Openstack теперь имеет новый проект "контейнер как услуга" под названием Magnum:
показывает много обещаний, позволяет легко настроить рамки оркестровки докеров, такие как Kubernetes и Docker swarm.
обновление 18
Rancher-это проект, который быстро созревает
хороший интерфейс и сильный акцент на hyrbrid Docker инфраструктуры
обновление 19
на проект решетки является ответвлением Cloud Foundry для управления кластерами контейнеров.
обновление 20
настройки недавно купил Тутум:
обновление 21
диспетчер пакетов для приложений, развернутых на Kubernetes.
обновление 22
Vamp-это платформа с открытым исходным кодом для управления (микро)сервис-ориентированными архитектурами, которые полагаются на контейнерные технологии.
обновление 23
Распределенный, Высокодоступный, Datacenter-Aware Планировщик
от парней, которые дали нам бродягу и другие мощные инструменты.
обновление 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 через 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 opensource воодушевленным в Heroku, и оно уже с некоторыми продуктами в продукции на Globo.com (интернет-подразделение крупнейшей телерадиокомпании Бразилии)
Он управляет всем потоком приложения, начиная с создания контейнера, развертывания, маршрутизации (с hipache) со многими приятными функциями, такими как кластер docker, масштабирование единиц, сегрегированное развертывание и т. д.
посмотреть в нашей документации реветь: 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 ориентировано на сейчас:)
в то время как мы большие поклонники Deis (deis.io) и активно развертываются на нем, есть и другие решения для развертывания Heroku, такие как PaaS style, включая:
портовый грузчик из The Wayfinder folks:
https://github.com/longshoreman/longshoreman
Декер из CloudCredo folks, используя CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
Как по прямым согласование, проект opensource NewRelic Сотник кажется вполне перспективным:
Panamax: управление Докером для людей. Панамакс.io
Fig: быстрые изолированные среды разработки с помощью Docker. fig.sh
одним из вариантов, не упомянутых в других сообщениях, является Helios. Он построен spotify и не пытается сделать слишком много.