Vamos a actualizar nuestra Política de privacidad próximamente. Te recomendamos consultar el avance.

Docker esencial

Lo efímero y lo permanente

¡Prueba gratis durante 10 días

nuestros 1290 cursos !

Prueba gratis Mostrar modalidades de suscripción
Por naturaleza, a diferencia de las máquinas virtuales tradicionales, los contenedores Docker son efímeros, es decir, la información que tenemos en ellos tenderá a desaparecer cuando los paremos. Tenemos la posibilidad de crear contenedores con contenido permanente, pero deberemos tener en cuenta las limitaciones que tenemos.

Transcripción

Según la filosofía de los contenedores Docker, los contenedores producidos por las imágenes de tu Dockerfile deberían ser efímeros. Por efímeros, entendemos que podrían desaparecer en cualquier momento con los datos que tienen en su interior. No deberíamos, por tanto, depender de los datos que tienen dentro. Normalmente un contenedor cuando lo paras tiende a desaparecer. Hay maneras de montar un contenedor para que tome una carpeta de nuestro servidor, de nuestro "host". Por ejemplo, tengo mi carpeta "tmp", que tiene tres ficheros: uno, dos y tres; y podría lanzar un contenedor con el parámetro "-v", que es para montar un volumen, darle una ruta, en este caso "tmp", y decirle que dentro del contenedor, en la ruta "cosas", monte este volumen que yo tengo. Por lo tanto, si yo entro a este volumen de "nginx", hago un "mount" y veo que tengo un volumen externo montado, que se llama "cosas", y si entro veo que tengo esos tres ficheros de la "/tmp" de mi servidor. De hecho, si creo alguno más, aunque destruya el contenedor y me salga de él, este nuevo fichero lo vamos a tener disponible. Esta es una opción para montar volúmenes y tener ficheros que quedan, que no son efímeros, que es interesante, pero es importante no depender de ello y solo hacerlo en entornos de desarrollo. En producción, probablemente estemos corriendo en cluster con nodos que podrían aparecer o desaparecer, que no comparten ficheros entre sí, por tanto, los contenedores de otros nodos no tienen porque ver los ficheros de los otros contenedores, y necesitamos almacenar ficheros de manera que todos accedan a ellos. Utilizar algún tipo de plataforma para gestionarlo: almacenamiento de objetos, algún tipo de sistema ficheros de red o cluster para el almacenamiento o bases de datos, etc. La mayoría de la filosofía Docker se basa bastante en lo que se llama la aplicación de 12 factores. Es una teoría de programación no basada en ningún lenguaje, sino en los métodos que hay que llevar para realizar una aplicación eficiente que soporte fallos y problemas. En este caso estamos hablando del factor número seis, los procesos, que dicen que debemos ejecutar la aplicación como uno o más procesos sin estado. Sin estado, "stateless", quiere decir que no almacenan la configuración y ficheros que utilizan sino que son totalmente ajenos a ello. Una frase muy importante es esta: "Una aplicación doce factores nunca asume que tiene algo cacheado en memoria o en disco que vaya a estar disponible más tarde." Es decir, no podemos depender que nosotros tengamos algo siempre en memoria o en disco y que lo vayamos a tener en un futuro, Por tanto, lo único que podremos tener serán cachés y ficheros temporales, pero no almacenaremos imágenes, bases de datos o datos importantes de la aplicación que sean necesarios. Por ejemplo, para la sesión dentro del contenedor que estamos ejecutando, siempre debemos depender de un servicio que nos ofrezca específicamente eso. Por ejemplo, un "memcached" para almacenar sesiones, una base de datos para almacenar datos de usuarios o un sistema de objetos para almacenar los ficheros u objetos variados que necesitemos para nuestra aplicación. Es algo muy interesante, sobre todo para cuando paséis a producción; mientras tanto en desarrollo podéis utilizar el método de montar volúmenes, si queréis meter ficheros dentro de vuestros contenedores o queréis guardar los ficheros que generan las aplicaciones que hay dentro de vuestros contenedores.

Docker esencial

Descubre lo que te ofrece Docker y aprende a empaquetar aplicaciones junto con todas sus dependencias en un contenedor virtual que podrás ejecutar desde cualquier servidor Linux.

2:18 horas (36 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:26/04/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.