Video: Aprende Docker en 14 minutos 🐳 (Noviembre 2024)
Docker es una plataforma de código abierto para construir, administrar y ejecutar aplicaciones en contenedores virtuales en servidores Linux. Estos contenedores son espacios virtuales creados con la virtualización del sistema operativo dentro del kernel de Linux donde los recursos están aislados. Son diferentes de los servicios de PaaS como Microsoft Azure o Amazon EC2, que ofrecen servidores virtuales llamados instancias de servidor. Piense en Docker como una forma de entregar instancias de usuario.
Debido a estos contenedores aislados, Docker permite a los desarrolladores y administradores de sistemas entregar aplicaciones distribuidas seguras, de gestión centralizada y de alto rendimiento. El rendimiento, afirman muchos, es aún más ágil y ligero que con los servidores virtuales. El proyecto comunitario de código abierto está atrayendo a fanáticos del código abierto, así como a grandes empresas tecnológicas como Red Hat, Microsoft y Rackspace, todos los cuales han anunciado planes o ya han implementado alguna forma de interoperabilidad entre Docker y sus ofertas.
Los administradores de sistemas, particularmente aquellos que pasaron la mayor parte de sus carreras administrando infraestructuras de Windows pequeñas y medianas, pueden tener dificultades para comprender exactamente qué puede hacer Docker por ellos y los sistemas que administran. Entonces, hablamos con un administrador de sistemas experimentado que también es un entusiasta usuario de Docker, Kelsey Hightower, un consultor que trabaja con una variedad de nuevas empresas como CoreOS, que envía un producto basado en Docker.
PCMag: ¿Cómo usan Docker actualmente usted y su organización?
Hightower: Docker está integrado en el sistema operativo y es el método principal para ejecutar aplicaciones. No hay administrador de paquetes ni tiempos de ejecución locales, ni Java, Python, Ruby o Perl. Ayudamos a los proveedores de Plataforma como Servicio a desarrollar sus ofertas basadas en Docker. CoreOS proporciona herramientas adicionales para ayudar a administrar los contenedores Docker.
PCMag: ¿Puede proporcionar algunos casos de uso del "mundo real" para Docker?
Hightower: la mayoría de las empresas están utilizando Docker como un reemplazo para el empaque de aplicaciones complejas. Por ejemplo, si tiene una aplicación Java, necesitará una JVM, y muy probablemente un contenedor de aplicaciones, que requiere diferentes versiones de JVM y Tomcat. Para simplificar las cosas, Docker se usa para crear un contenedor con la versión correcta de Java, Tomcat y otras dependencias de aplicaciones. ¡No más conflictos!
Docker se utiliza para pruebas automatizadas y CI (integración continua). Los contenedores de Linux (administrados por Docker) son mucho más rápidos de construir y lanzar que sus homólogos de VM. Ahora, en los entornos de prueba, estamos lanzando bases de datos, corredores de mensajes y otros servicios de los que dependen nuestras aplicaciones antes de ejecutar pruebas de integración. Esto mejora la calidad de las pruebas, ya que ahora estamos probando contra la realidad.
Docker facilita la configuración de entornos de desarrollo similares a la producción. En un único host Docker, mis desarrolladores pueden activar fácilmente todos los componentes que se ejecutan en producción, incluida una base de datos, servidores de almacenamiento en caché, etc. De forma similar a las pruebas con Docker, la calidad del desarrollo mejora debido al acceso a un entorno real para desarrollar. La capacidad de ejecutar muchos contenedores en una sola máquina virtual, puedo dar a cada desarrollador su propio entorno.
PCMag: ¿Qué tan empinada cree usted que es la curva de aprendizaje para los administradores de sistemas que no codifican o usan mucho la línea de comando?
Hightower: en un nivel alto, si puede iniciar y detener un servicio de Windows o UNIX desde la línea de comandos, entonces tiene una base suficiente para comenzar a usar Docker.
Sin embargo, aún debe analizar más a fondo Docker como una herramienta para construir y compartir contenedores Linux y para administrarlos.
Consejos y sugerencias
Hightower también ofreció algunos consejos y sugerencias para los administradores de sistemas sobre cómo comenzar a usar Docker:
Crear un contenedor de Linux con Docker:
Nivel de habilidad: intermedio. Debe tener experiencia en la creación de paquetes de software como RPM de Linux, MSI o paquetes de aplicaciones simples como archivos zip y tar.
Consejo: Crear un contenedor de Linux con Docker es bastante sencillo. Todo lo que necesita es una configuración Docker que funcione y un Dockerfile, que es un documento de texto que contiene todos los comandos que normalmente ejecutaría manualmente para construir una imagen Docker.
Administrar un contenedor de Linux con Docker:
Nivel de habilidad: principiante.
Consejo: La herramienta de línea de comando Docker es la forma más popular de distribuir, iniciar y detener contenedores Linux. La mayoría de los administradores de sistemas que se sienten cómodos con el uso de la línea de comandos no tendrán problemas para usar la CLI de Docker. El gran problema aquí es que el demonio Docker no se ejecuta de forma nativa en Windows o Mac OS X: se requiere un host Docker que ejecute Linux. La mayoría de las personas eligen ejecutar el host Docker en una VM local usando Boot2Docker, o en la nube (con EC2, Google Computer, etc.) Hightower dijo: "Personalmente ejecuto CoreOS en VMware Fusion en mi Mac. Estoy en funcionamiento en 5 minutos. Una vez que el host Docker esté en su lugar, las herramientas de Docker CLI funcionarán bien en Windows y Linux ".
Hightower también informa que ahora que Docker 1.0 está fuera, es probable que veamos más herramientas basadas en GUI disponibles. También recomienda echar un vistazo a Tutum.co, una solución Docker alojada que hace que trabajar con contenedores Docker sea perfecto.