‫Entonces, ¿qué hacemos con este archivo?
‫Bien, salgamos. Vamos a ver en este directorio que tenemos este único archivo.
‫Apenas tiene un k de tamaño.
‫Obviamente no tiene nada más que el texto, pero son las instrucciones sobre cómo construir
‫nuestra imagen.
‫El comando from, cuando construyo esta imagen, realmente va a llevar esa imagen debian jessie desde Docker
‫Hub a mi caché local. por línea cada una de esas estrofas
‫dentro de mi docker y almacenará en caché cada una de esas capas.
‫Y luego ejecutará línea
‫Vamos a escribir la construcción de la imagen de Docker y vamos a etiquetarla.
‫Recuerde, ese es el nombre con el que le vamos a dar una imagen.
‫Como solo voy a usar esta imagen localmente, no tengo que usar mi nombre de cuenta de Docker Hub. Puedo llamarlo como
‫quiera.
‫Voy a llamarlo nginx personalizado, y voy a poner un punto aquí, que básicamente dice, compilar el
‫archivo docker en este directorio. Y verá como lo hace a través
‫de esto, que cada paso es una línea en el archivo docker que está ejecutando dentro de esta imagen mientras la está construyendo.
‫Y luego hay un pequeño hash al final, que en realidad es el hash que guarda en
‫la memoria caché de compilación para que la próxima vez que construyamos esto, si esa línea no ha cambiado
‫en el archivo docker, no va a volver a ejecutarlo.
‫Esta es una de las piezas mágicas de por qué Docker hace que la implementación y el desarrollo de software sean tan rápidos que en
‫realidad es lo suficientemente inteligente como para almacenar en caché los pasos de la compilación.
‫Muy a menudo, después de que haya creado una imagen la primera vez, y realmente está allí cambiando
‫su código fuente personalizado y no necesariamente cambiando la aplicación en sí mismo, todo
‫esto de instalación ya ha sucedido.
‫Por lo tanto, tendrá tiempos de construcción muy cortos.
‫De acuerdo, entonces ahora hemos terminado de construir. Eso tomó aproximadamente un minuto.
‫Pero, ¿y si vuelvo a ese archivo? Voy a agregar un puerto expuesto adicional.
‫Por ejemplo, solo voy a hacer 8080.
‫Ahora, eso no significa que nginx sea lo suficientemente inteligente como para saber que estoy abriendo este puerto, o
‫que de alguna manera se está comunicando con nginx.
‫Solo soy yo quien permite que el contenedor reciba paquetes en ese puerto.
‫Solo para estar seguro, hagamos una imagen de acoplador ls. parte superior que se etiquetó automáticamente como la última, ¿verdad?
‫Veremos en
‫la
‫Porque solo lo llamamos el nombre del repositorio.
‫En realidad, no le dimos un nombre de etiqueta de dos puntos cuando lo etiquetamos.
‫Así que vamos a construirlo de nuevo.
‫Wow, eso fue rápido, ¿verdad?
‫Eso solo nos tomó un par de segundos. Y notará que en cada paso dirá usar caché. caché en 3, usar caché
‫en 4.
‫Comenzando con el Paso 2, dirá usar caché, usar En 5, reconoce en el paso 5, que
‫esa línea es diferente.
‫Entonces realmente ejecuta eso en el contenedor. Y luego, en el Paso 6, tiene que volver a ejecutar esa línea
‫porque en el momento en que cambia una línea, cada línea después de eso ahora tiene que ser reconstruida también.
‫Esto muestra el punto sobre el orden de sus líneas en su archivo Docker. Porque, si tiene cosas desordenadas, digamos que estás construyendo Si está copiando el código de software que está creando al principio del archivo, cada
‫por ejemplo, si vez que cambie un archivo fuente y reconstruya,
‫copió el código. un sitio web. tendrá que volver a generar todo el archivo Docker.
‫mínimo y luego las cosas que más cambian en la parte inferior de su archivo Docker.
‫Por lo tanto, es sumamente importante para su cordura y tiempo
‫que por lo general mantenga las cosas en la parte superior de su archivo Docker que cambien lo
‫