Plantilla:Docker/conceptosGenerales
De WikiEducator
Revisión a fecha de 23:58 7 mar 2019; ManuelRomero (Discusión | contribuciones)
Qué es docker
- Docker es una empresa que ofrece una tecnología de virtualización basada en contenedores.
- Surge en 2013 y actualmente la compañía se llama Moby Proyect
- Entre otras, en la idea inicial, surgió usar un sistema operativo, pudiendo hacer instantáneas de él, igual que los commit de git y pudiendo en cualquier momento recuperar el sistema operativo a un determinado instante.
- Para ello se usó en concepto de contenedor un programa que virtualiza un determinado sistema operativo, pero solo el software. de este contenedor podemos comitear a imágenes nuevas en cualquier momento. una imagen concreta levanta un contendor de forma muy rápida (cuestión de segundos o menos....). En cada commit solo se guardan los cambios realizados desde el commit anterior.
Cómo actúa Docker en una máquina anfitriona
Es una pieza de software liviana, independiente, empaquetable y ejecutable que incluye todo lo que necesita para correr: código, runtime, herramientas de sistema, librerías y configuraciones [https://www.docker.com/resources/what-container |
- Virtualizar
Utilizar software para emular el sistema necesario que pueda contener un determinado sistema operativo disponible para ser usado.
- No se virtualiza el sistema operativo entero, solo los servicios que queremos usar con sus dependencias (Esta es la idea de un contenedor)
- El kernel del sistema operativo es compartido con el host anfitrión dónde el contenedor es ejecutado.
- Ventajas de esta idea
- Es muy muy ligero, tanto en peso como en ejecución.
- Es totalmente portable: podemos desplegar un contenedor en cualquier otro anfitrión o máquina que soporte esa tecnología
- Es seguro, el docker está encerrado en un chroot, podemos asegurar las versiones de nuestros servicios
- Es muy flexible y de fácil adaptación con el exterior: es muy cómodo y sencillo pasar ficheros entre el contenedor y el host e incluso crear un volumen que sea compartido por ambos sistemas de ficheros (el del host y el del contenedor).
Quién usa docker
- Es una manera de que el desarrollador tenga justo lo que necesita, sin alterar el sistema o host principal dónde desarrolla