Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización a nivel de sistema operativo en Linux.
La idea básica es tener un lugar virtual ligero y portable donde poder ejecutar aplicaciones de software independientemente del sistema operativo del equipo donde esté instalado este programa.
Al haber sido desarrollado para Linux, evidentemente funciona mejor en una distribución Linux que en Windows, a pesar de que existen versiones de Docker para este último sistema operativo y para Mac OS.
Las ventajas de Docker afectan a administradores de sistemas, desarrolladores informáticos y probadores de software. Entre estas ventajas destacan:
La idea básica es tener un lugar virtual ligero y portable donde poder ejecutar aplicaciones de software independientemente del sistema operativo del equipo donde esté instalado este programa.
Al haber sido desarrollado para Linux, evidentemente funciona mejor en una distribución Linux que en Windows, a pesar de que existen versiones de Docker para este último sistema operativo y para Mac OS.
Las ventajas de Docker afectan a administradores de sistemas, desarrolladores informáticos y probadores de software. Entre estas ventajas destacan:
- Ser de código abierto.
- Proporcionar entornos de pruebas muy flexibles.
- Pesar muy poco.
- Proporcionar entornos de trabajo para la administración de sistemas muy variados y personalizables.
- No es necesario instalarle un sistema operativo propio para que funcione, pues lo hace con el sistema operativo nativo del equipo (mejor si es Linux).
- Alta capacidad de portabilidad.
- Existe tanto para arquitectura 32 como para arquitectura 64.
- Gran facilidad para crear copias de seguridad de sus elementos.
ELEMENTOS BÁSICOS
Los dos elementos básicos de Docker son las imágenes y los contenedores.
Las imágenes ("images", en inglés) son las plantillas desde las que se crean los contenedores; una imagen posee un identificador y un par "nombre:versión" que la distingue del resto; cada imagen contiene lo necesario para crear y hacer funcionar un contenedor específico, y nunca cambia. Las imágenes se encuentran almacenadas en un registro de Docker, parte del cual es público, desde donde se pueden descargar las que se consideren necesarias y a partir de las cuales se puede trabajar (imágenes padre).
Por su parte, un contenedor ("container", en inglés) es una instancia en ejecución de una imagen. El contenedor se crea a partir de la imagen y ejecuta lo que haya en su interior (sistema operativo, programa, aplicación, etc.), es más, desde una imagen se pueden ejecutar varios contenedores del mismo tipo. Cada contenedor tendrá también su identificador y un nombre que, si no se lo da el usuario al ejecutarlo por primera vez, se lo dará el sistema de forma aleatoria. Sin embargo, no es posible guardar cambios persistentes en un contenedor, ya que, en cuanto se detenga y se ejecute la imagen de donde se creó, los cambios desaparecerán; este problema se soluciona creando una imagen nueva a partir del contenedor modificado.
OTROS ELEMENTOS IMPORTANTES
Un volúmen ("volume", en inglés) permite guardar los datos de un contenedor en el equipo real. La ventaja de esto es que si se borra el contenedor, los datos se mantienen; otra ventaja de los volúmenes es que pueden compartir los datos que contienen entre varios contenedores.
Por otra parte, un vínculo ("link", en inglés), permite enlazar contenedores que se encuentren en una misma máquina sin mostrar qué datos contienen cada uno.
Si se desea profundizar mucho más en esta tecnología relativamente reciente, se puede seguir el siguiente enlace. Sin embargo, en este blog seguirán apareciendo nuevas entradas sobre este tema en el futuro.
No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.