tutoriales tutorial guia facil dockers desde crear contenedor container cero scale production docker

scale - guia - tutorial docker windows



Cómo escalar los contenedores Docker en producción (10)

Así que recientemente descubrí esta increíble herramienta, y dice

Docker es un proyecto de código abierto para crear fácilmente contenedores livianos, portátiles y autosuficientes desde cualquier aplicación. El mismo contenedor que un desarrollador crea y prueba en una computadora portátil puede ejecutarse a escala, en producción, en VM, bare metal, clústeres OpenStack, nubes públicas y más.

Digamos que tengo una imagen acoplable que ejecuta Nginx y un sitio web se conecta a una base de datos externa. ¿Cómo escalo el contenedor en producción?


Eche un vistazo a http://rancher.com/ : puede administrar múltiples hosts Docker y mucho más.



La respuesta corta es que tendrías que escribir tu propia lógica para hacer esto.

Esperaría que este tipo de características emergiera de los siguientes proyectos, construidos sobre el acoplador y diseñados para soportar aplicaciones en producción:

Actualización 1

Otro proyecto relacionado que descubrí recientemente:

Actualización 2

La última versión de Openstack contiene soporte para administrar contenedores Docker:

Actualización 3

Sistema para administrar instancias de Docker

Y una presentación sobre cómo usar herramientas como Packer , Docker y Serf para entregar un patrón de infraestructura de servidor inmutable

Actualización 4

Un artículo prolijo sobre cómo conectar juntos contenedores docker usando Serf :

Actualización 5

Ejecutar Docker en Mesos usando el framework Marathon

Tutorial del desarrollador Mesosphere Docker

Actualización 6

Ejecutar Docker en Tsuru ya que es compatible con Docker docker-cluster y segregated scheduler deploy

Actualización 7

Dockers orchestration orchestration

maestro-ng

Actualización 8

decking.io

Actualización 9

Google kubernetes

Actualización 10

Redhat ha rediseñado su PAAS openshift para integrar Docker

Actualización 11

Una versión de Docker NodeJS que envuelve la línea de comandos de Docker y la gestiona desde un archivo json.

Actualización 12

El nuevo servicio de contenedor de Amazon permite escalar en el clúster.

Actualización 13

Hablando estrictamente, Flocker no "escala" las aplicaciones, sino que está diseñado para cumplir una función relacionada de hacer que los contenedores de estado (¿servicios de bases de datos en ejecución?) Sean portátiles en múltiples hosts Docker:

https://clusterhq.com/

Actualización 14

Un proyecto para crear plantillas portátiles que describen las aplicaciones de Docker:

http://panamax.io/

Actualización 15

El proyecto Docker ahora está abordando la orquestación de forma nativa (ver announcement )

Actualización 16

Spotify Helios

Ver también:

Actualización 17

El proyecto Openstack ahora tiene un nuevo proyecto llamado "contenedor como servicio" llamado Magnum:

Muestra una gran promesa, permite la fácil configuración de marcos de orquestación Docker como Kubernetes y Docker enjambre.

Actualización 18

Rancher es un proyecto que está madurando rápidamente

http://rancher.com/

Buena interfaz de usuario y fuerte enfoque en las infraestructuras Hyrbrid Docker

Actualización 19

El proyecto Lattice es una rama de Cloud Foundry para administrar clusters de contenedores.

Actualización 20

Docker recientemente compró Tutum:

https://www.docker.com/tutum

Actualización 21

Administrador de paquetes para aplicaciones implementadas en Kubernetes .

http://helm.sh/

Actualización 22

Vamp es una plataforma de código abierto y autoalimentada para gestionar arquitecturas orientadas a servicios (micro) que se basan en tecnología de contenedores.

http://vamp.io/

Actualización 23

Un programador distribuido, altamente disponible y compatible con Datacenter.

De los muchachos que nos dieron Vagrant y otras herramientas poderosas.

Actualización 24

Solución de hospedaje de contenedores para AWS, de código abierto y basada en Kubernetes

https://supergiant.io/

Actualización 25

Contenedor basado en Apache Mesos alojado en Alemania

https://sloppy.io/features/#features

Y Docker Inc. también ofrece un servicio de alojamiento de contenedores llamado nube Docker

https://cloud.docker.com/

Actualización 26

Jelastic es un servicio PAAS alojado que escala contenedores automáticamente.


Openshift chicos también crearon un proyecto. Puede encontrar más información here , pruebe el contenedor de prueba e información detallada Geard . El único problema es que la solución es Redhat céntrica por ahora :)


Panamax: Docker Management for Humans. http://panamax.io/

Fig: Entornos de desarrollo rápidos y aislados utilizando Docker. fig.sh


Puedes probar Tsuru. Tsuru es un PaaS de código abierto inspirado en Heroku, y ya está con algunos productos en producción en Globo.com (brazo de Internet de la mayor empresa de televisión abierta en Brasil)

Gestiona todo el flujo de una aplicación, desde la creación del contenedor, implementación, enrutamiento (con hipache) con muchas funciones agradables como agrupación de acopladores, escalado de unidades, implementación segregada, etc.

Eche un vistazo en nuestra documentación a continuación: http://docs.tsuru.io/

Aquí nuestra publicación que cubre nuestro entorno: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/


Si bien somos grandes admiradores de Deis (deis.io) y estamos desplegándonos activamente en él, existen otras soluciones de implementación de estilo PaaS de Heroku como, por ejemplo:

Estibador de la gente de Wayfinder:

https://github.com/longshoreman/longshoreman

Decker de la gente de CloudCredo, usando CloudFoundry:

http://www.cloudcredo.com/decker-docker-cloud-foundry/

En cuanto a la orquestación directa, el proyecto Centurion de código abierto de NewRelic parece bastante prometedor:

https://github.com/newrelic/centurion


Un enfoque sensato para escalar Docker podría ser:

  1. Cada servicio será un contenedor de docker
  2. Descubrimiento de servicio dentro del contenedor administrado a través de enlaces ( nueva función del acoplador 0.6.5 )
  3. Los contenedores se desplegarán a través de Dokku
  4. Las aplicaciones serán administradas a través de Shipyard que a su vez está utilizando hipache

Otro acoplador abierto proyecto de Yandex:



deis automatiza la escala de los contenedores Docker (entre otras cosas).

Deis (pronunciado DAY-iss) es un PaaS de código abierto que facilita la implementación y administración de aplicaciones en sus propios servidores. Deis se basa en Docker y coreos para proporcionar un PaaS ligero con un flujo de trabajo inspirado en Heroku.

Aquí está el flujo de trabajo del desarrollador:

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 implementa automáticamente sus contenedores Docker en un clúster CoreOS y configura los enrutadores Nginx para enrutar las solicitudes a contenedores Docker saludables. Si un host muere, los contenedores se reinician automáticamente en otro host en segundos. Simplemente busque la URL proxy o use deis open para deis open a su aplicación.

Algunos otros comandos útiles:

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

Para ver esto en acción, consulte el video de la terminal en http://deis.io/overview/ . También puede obtener más información sobre los conceptos de Deis o acceder directamente a la implementación de su propio PaaS privado .