Diferencia entre revisiones de «Plantilla:Docker/conceptosGenerales»
De WikiEducator
Línea 1: | Línea 1: | ||
− | + | __TOC__ | |
+ | {{MRM_Objetivos| | ||
;Ver qué es docker desde el punto de vista de ser usado para dockerizar un desarrollo web | ;Ver qué es docker desde el punto de vista de ser usado para dockerizar un desarrollo web | ||
*Docker, contenedor, dockstation | *Docker, contenedor, dockstation | ||
Línea 11: | Línea 12: | ||
*Un ejemplo de una aplicación dockerizada | *Un ejemplo de una aplicación dockerizada | ||
}} | }} | ||
− | + | <br /> | |
{{MRM_Web| | {{MRM_Web| | ||
*Artículo interesante de Mauricio Collados, donde he sacado ideas para este tema | *Artículo interesante de Mauricio Collados, donde he sacado ideas para este tema | ||
Línea 33: | Línea 34: | ||
{{MRM_Definicion|Title=Un contenedor| | {{MRM_Definicion|Title=Un contenedor| | ||
'''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/ traducido de la página oficial de docke]}} | '''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/ traducido de la página oficial de docke]}} | ||
− | [[Imagen:Docker_distancia_1.png]]< | + | <br /> |
− | + | [[Imagen:Docker_distancia_1.png]] | |
+ | <hr /> | ||
*No se virtualiza el sistema operativo entero, solo los servicios que queremos usar con sus dependencias (Esta es la idea de un contenedor) | *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. | *El kernel del sistema operativo es compartido con el host anfitrión dónde el contenedor es ejecutado. | ||
;Con todo ello conseguimos: | ;Con todo ello conseguimos: | ||
− | *Un sistema muy ligero, tanto en peso como en ejecución. | + | *Un sistema muy ligero, tanto en peso como en ejecución. Esto se consigue, ya que en realidad lo que voy almacenando en el contenedor son las diferencias respecto a una imagen o al kernel del sistema operativo, no tengo una réplica de todo como ocurre en una máquina virtual. Utilizo todo del sistema dónde me alojo y tengo en cuenta la peculiaridades o diferencias que he agregado en el contenedor que estoy ejecutando. |
*Totalmente portable: podemos desplegar un contenedor en cualquier otro anfitrión o máquina que soporte esa tecnología. El contenedor lo podemos llevar en un fichero tar | *Totalmente portable: podemos desplegar un contenedor en cualquier otro anfitrión o máquina que soporte esa tecnología. El contenedor lo podemos llevar en un fichero tar | ||
*Es seguro, el docker está encerrado en un chroot, podemos asegurar las versiones de nuestros servicios y sistema operativo. | *Es seguro, el docker está encerrado en un chroot, podemos asegurar las versiones de nuestros servicios y sistema operativo. | ||
*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. Se puede mantener un volumen que sea compartido por ambos sistemas de ficheros (el del host y el del contenedor). | *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. Se puede mantener un volumen que sea compartido por ambos sistemas de ficheros (el del host y el del contenedor). | ||
+ | ====Vitualización basada en contenedores Vs Máquinas virtuales==== | ||
+ | |||
+ | *Un sistema de virtualización basado en '''docker''' es '''''muy diferente''''' de un sistema basado en '''máquinas virtuales''' | ||
+ | *En ambos preseguimos el objetivo de tener un sistema operativo '''''diferente''''' e '''''independiente''''' de la máquina anfitriona donde desplegamos la virtualización. Pero el método de conseguirlo es totalmente diferente. | ||
+ | |||
===Quién usa docker=== | ===Quién usa docker=== |
Revisión de 22:44 8 mar 2019
Contenido
|
https://medium.com/ingenier%C3%ADa-en-tranqui-finanzas/una-gu%C3%ADa-no-tan-r%C3%A1pida-de-docker-y-kubernetes-933f5b6709df |
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.
Utilizar software para emular el sistema necesario que pueda contener un determinado sistema operativo disponible para ser usado |
Cómo actúa Docker en una máquina anfitriona
- El elemento funcional u operativo de en un sistema basado en docker es el contenedor
- ¿Qué es un contenedor?
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 traducido de la página oficial de docke |
- 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.
- Con todo ello conseguimos
- Un sistema muy ligero, tanto en peso como en ejecución. Esto se consigue, ya que en realidad lo que voy almacenando en el contenedor son las diferencias respecto a una imagen o al kernel del sistema operativo, no tengo una réplica de todo como ocurre en una máquina virtual. Utilizo todo del sistema dónde me alojo y tengo en cuenta la peculiaridades o diferencias que he agregado en el contenedor que estoy ejecutando.
- Totalmente portable: podemos desplegar un contenedor en cualquier otro anfitrión o máquina que soporte esa tecnología. El contenedor lo podemos llevar en un fichero tar
- Es seguro, el docker está encerrado en un chroot, podemos asegurar las versiones de nuestros servicios y sistema operativo.
- 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. Se puede mantener un volumen que sea compartido por ambos sistemas de ficheros (el del host y el del contenedor).
Vitualización basada en contenedores Vs Máquinas virtuales
- Un sistema de virtualización basado en docker es muy diferente de un sistema basado en máquinas virtuales
- En ambos preseguimos el objetivo de tener un sistema operativo diferente e independiente de la máquina anfitriona donde desplegamos la virtualización. Pero el método de conseguirlo es totalmente diferente.
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