Introducción

Ahora sabemos cómo trabajar con contenedores y imágenes. En el capítulo anterior, también vimos cómo vincular contenedores y compartir datos entre el host y otros contenedores. También vimos cómo los contenedores de un host pueden comunicarse con contenedores de otros hosts.

Ahora, veamos los diferentes casos de uso de Docker. Veamos algunos de ellos aquí:

  • Prototipado rápido de ideas: este es uno de mis casos de uso favoritos. Una vez que tenemos una idea, es muy fácil prototiparla con Docker. Todo lo que debemos hacer es configurar contenedores para proporcionar todos los servicios de backend que necesitamos y conectarlos entre sí. Por ejemplo, para configurar una aplicación LAMP, obtenemos el servidor web y la base de datos y los vinculamos, como vimos en el capítulo anterior.

  • Colaboración y distribución: Git es uno de los mejores ejemplos de colaboración y distribución de código. De manera similar, Docker proporciona características como Dockerfile, registros y importación/exportación para compartir y colaborar con otros. Hemos cubierto todo esto en capítulos anteriores.

  • Integración Continua ( CI ): la siguiente definición en el sitio web de Martin Fowler (http://www.martinfowler.com/articles/continuousIntegration.html) lo cubre todo:

La Integración Continua es una práctica de desarrollo de software en la que los miembros de un equipo integran su trabajo con frecuencia, generalmente cada persona integra al menos diariamente, lo que lleva a múltiples integraciones por día. Cada integración se verifica mediante una compilación automatizada (incluyendo pruebas) para detectar errores de integración lo más rápido posible. Muchos equipos encuentran que este enfoque conduce a una reducción significativa de los problemas de integración y permite que un equipo desarrolle software cohesivo más rápidamente. Utilizando recetas de otros capítulos, podemos crear un entorno para CI utilizando Docker. Puedes crear tu propio entorno de CI o obtener servicios de empresas como Shippable y TravisCI. Veremos cómo Shippable y TravisCI se pueden utilizar para el trabajo de CI más adelante en este capítulo. Pensé que sería útil hablar sobre ambos aquí:

  • Entrega Continua ( CD ): el siguiente paso después de la CI es la Entrega Continua, a través de la cual podemos desplegar nuestro código rápidamente y de manera confiable a nuestros clientes, la nube y otros entornos sin trabajo manual. En este capítulo, veremos cómo podemos desplegar automáticamente una aplicación en Heroku a través de Shippable CI.

  • Plataforma como Servicio ( PaaS ): Docker se puede utilizar para crear tu propia PaaS. Puede ser desplegado utilizando herramientas/plataformas como OpenShift, CoreOS, Atomic, etc. Más adelante en este capítulo, veremos cómo configurar PaaS utilizando OpenShift Origin (https://www.okd.io).