Blog

Inicio   /   Blog

Image

Docker, un subconjunto del proyecto Moby , es un marco de software para construir, ejecutar y administrar contenedores en servidores y la nube. El término "docker" puede referirse a las herramientas (los comandos y un demonio) o al Dockerfileformato de archivo.

Antes, cuando quería ejecutar una aplicación web, compraba un servidor, instalaba Linux , configuraba una pila LAMP y ejecutaba la aplicación. Si su aplicación se hizo popular, practicó un buen equilibrio de carga configurando un segundo servidor para asegurarse de que la aplicación no fallara debido a demasiado tráfico.

Sin embargo, los tiempos han cambiado y, en lugar de centrarse en servidores únicos, Internet se basa en matrices de servidores interdependientes y redundantes en un sistema comúnmente llamado "la nube". Gracias a innovaciones como los espacios de nombres del kernel de Linux y cgroups , el concepto de servidor pudo eliminarse de las limitaciones del hardware y, en su lugar, se convirtió, esencialmente, en una pieza de software. Estos servidores basados ​​en software se denominan contenedores y son una combinación híbrida del sistema operativo Linux en el que se ejecutan más un entorno de tiempo de ejecución hiperlocalizado (el contenido del contenedor).


Comprender los contenedores

La tecnología de contenedores se puede considerar como tres categorías diferentes:

Builder: una herramienta o serie de herramientas utilizadas para construir un contenedor, como distrobuilder para LXC o un Dockerfile para Docker.

Motor: una aplicación utilizada para ejecutar un contenedor. Para Docker, esto se refiere al comando docker y al dockerddaemon. Para otros, esto puede referirse al containerddaemon y a los comandos relevantes (como podman ).


Orquestación: tecnología utilizada para administrar muchos contenedores, incluidos Kubernetes y OKD.


Los contenedores a menudo ofrecen una aplicación y una configuración, lo que significa que un administrador de sistemas no tiene que dedicar tanto tiempo a ejecutar una aplicación en un contenedor en comparación con cuando se instala una aplicación desde una fuente tradicional. Dockerhub y Quay.io son repositorios que ofrecen imágenes para que las utilicen los motores de contenedores.

Sin embargo, el mayor atractivo de los contenedores es su capacidad para "morir" con gracia y reaparecer cuando el equilibrio de carga lo exige. Ya sea que la desaparición de un contenedor se deba a un bloqueo o simplemente porque ya no se necesita porque el tráfico del servidor es bajo, los contenedores son "económicos" para comenzar y están diseñados para aparecer y desaparecer sin problemas. Debido a que los contenedores están destinados a ser efímeros y generar nuevas instancias con la frecuencia necesaria, se espera que un ser humano no los supervise y administre en tiempo real, sino que lo haga de forma automática.


Alternativas a Docker

Los contenedores de Linux han facilitado un cambio masivo en la informática de alta disponibilidad. Existen muchos conjuntos de herramientas para ayudarlo a ejecutar servicios, o incluso todo su sistema operativo , en contenedores. Open Container Initiative (OCI) es una organización de estándares de la industria que fomenta la innovación y evita el peligro de la dependencia de un proveedor. Gracias a OCI, tiene la opción de elegir una cadena de herramientas de contenedores, incluidos Docker, CRI-O , Podman , LXC y otros.


Utilidades de contenedores

Por diseño, los contenedores pueden multiplicarse rápidamente, ya sea que ejecute muchos servicios diferentes o muchas instancias de unos pocos servicios. Si decide ejecutar servicios en contenedores, probablemente necesite un software diseñado para alojar y administrar esos contenedores. Esto se conoce ampliamente como orquestación de contenedores . Si bien Docker y otros motores de contenedores como Podman y CRI-O son buenas utilidades para las definiciones e imágenes de contenedores, su trabajo es crear y ejecutar contenedores, no ayudarlo a organizarlos y administrarlos. Proyectos como Kubernetes y OKD brindan orquestación de contenedores para Docker, Podman, CRI-O y más.

Al ejecutar cualquiera de estos en producción, es posible que desee invertir en soporte a través de un proyecto posterior como OpenShift (que se basa en OKD).


Lo que necesita saber sobre la edición comunitaria de Docker

Los componentes de código abierto de Docker se recopilan en un producto llamado Docker Community Edition o docker-ce. Estos incluyen el motor de Docker y un conjunto de comandos de Terminal para ayudar a los administradores a administrar todos los contenedores de Docker que están usando. Puede instalar esta cadena de herramientas buscando dockeren el administrador de paquetes de su distribución.


Por qué usar Docker

Una de las mejores cosas del código abierto es que puede elegir qué tecnología usar para realizar una tarea. El motor de Docker puede ser útil para desarrolladores solitarios que necesitan un entorno limpio y liviano para realizar pruebas, pero sin necesidad de una orquestación compleja. Si Docker está disponible en su sistema y todos los que lo rodean están familiarizados con la cadena de herramientas de Docker, entonces Docker Community Edition ( docker-ce) es una excelente manera de comenzar con los contenedores.

Dockerhub y Quay.io son repositorios que ofrecen imágenes para el motor de contenedores de su elección. Si Docker Community Edition no está disponible o no es compatible, entonces Podman es una buena opción. El esfuerzo para garantizar que prevalezcan los estándares abiertos es continuo, por lo que la estrategia importante a largo plazo para su solución de contenedor debe ser ceñirse a proyectos que respeten y fomenten el código abierto y los estándares abiertos. Los extras patentados pueden parecer atractivos al principio, pero como suele ser el caso, pierde la flexibilidad de elección una vez que asigna sus herramientas a un producto que no permite la migración. Los contenedores pueden ser liberadores, siempre que estén liberados.

Tags: docker, utilidad, uso,

Ultimas Noticias


Macros de Laravel

Las macros de Laravel son una herramient


Ejecute Bash Shell en Docker de 5 formas diferentes

La respuesta cortaPara iniciar un shell


¿Qué es Docker?

Docker, un subconjunto del proyecto Moby