Descarga la aplicación para disfrutar aún más
Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
1 00:00:05,710 --> 00:00:10,450 Para esta clase, les voy a pedir que abran la hoja de atajos y vamos a hablar sobre un archivo que 2 00:00:10,450 --> 00:00:12,790 ignore, el cual es similar al Git. 3 00:00:12,790 --> 00:00:17,650 Ignore que si ustedes no saben qué es esto, básicamente el getting nor indica que archivos son los 4 00:00:17,650 --> 00:00:23,170 que ustedes, archivos y directorios no quieren que sean parte del repositorio de git, es decir, que 5 00:00:23,170 --> 00:00:24,280 git no le da seguimiento. 6 00:00:24,790 --> 00:00:30,760 En este caso, el doc ignore le dice al proceso de construcción qué archivos ustedes, por ejemplo, 7 00:00:30,760 --> 00:00:33,910 van a querer copiar y que archivos ustedes no quieren copiar. 8 00:00:34,240 --> 00:00:39,280 Es decir, si yo regreso aquí a la terminal cuando yo hago el copy, es decir, que copie todo lo que 9 00:00:39,280 --> 00:00:43,750 esté en el source a partir de este archivo, todo lo que está aquí, todos esto de aquí lo quiero copiar 10 00:00:44,380 --> 00:00:48,400 y lo quiero pegar en el Working Directory, que sería de slash app. 11 00:00:48,940 --> 00:00:53,710 Desafortunadamente cuando yo hago este comando también copio cosas que no necesito copiar, como por 12 00:00:53,710 --> 00:00:58,540 ejemplo los módulos de Node, porque los módulos no están especializados a la máquina que está corriendo 13 00:00:58,540 --> 00:00:59,800 en este momento. 14 00:00:59,800 --> 00:01:02,920 Esos, esos módulos o quién lo construyó en su momento? 15 00:01:02,920 --> 00:01:06,610 En este caso están especializados a una Mac, porque lo que estoy corriendo es una Mac, ustedes lo 16 00:01:06,610 --> 00:01:10,990 tenían en Windows, entonces están especializados en Windows, etcétera y hay paquetes que instalan 17 00:01:10,990 --> 00:01:16,690 y ejecutan dependencias específicas por sistema operativo, pero en nuestro caso ya hicimos el NPM. 18 00:01:16,690 --> 00:01:20,200 Instale localmente dentro de la imagen en su momento de construcción. 19 00:01:20,800 --> 00:01:28,180 Entonces cuando yo hago este copy estoy sobre escribiendo todo lo que este npm hizo y estoy reemplazándolo 20 00:01:28,180 --> 00:01:32,440 como mis módulos de no, por lo cual estos módulos de no tiene que ser parte de la imagen porque se 21 00:01:32,440 --> 00:01:35,230 construyen aquí, entonces en el Docker. 22 00:01:35,650 --> 00:01:37,390 Bueno, vamos a crearlo porque creo que no lo tengo. 23 00:01:37,960 --> 00:01:45,700 Voy a crear el archivo que ignore y aquí voy a colocar los node modules lo pueden modules, pueden ponerlo 24 00:01:45,700 --> 00:01:47,290 así o pueden ponerlo así. 25 00:01:47,290 --> 00:01:50,020 Yo quería saber cuando son directorios o cuando son archivos. 26 00:01:51,090 --> 00:01:51,360 Ok. 27 00:01:51,930 --> 00:01:53,760 Qué otra cosa no voy a necesitar? 28 00:01:53,850 --> 00:01:55,770 Vamos a ver la parte del test. 29 00:01:55,920 --> 00:01:57,030 Puede ser que más de uno diga. 30 00:01:57,030 --> 00:01:58,530 Bueno, yo quiero excluir el test. 31 00:01:58,560 --> 00:01:59,850 Es decir, si yo lo hago de esta manera. 32 00:01:59,850 --> 00:02:06,000 El problema es que si yo excluyo los test, ok, si yo no paso los test, no va a poder ejecutar este 33 00:02:06,000 --> 00:02:09,720 proceso y va a decir que no hay ninguna prueba realizada ahí. 34 00:02:10,200 --> 00:02:15,240 Ok, entonces los test si los necesito, pero solo para el proceso de construcción, no para el proceso 35 00:02:15,240 --> 00:02:15,890 de ejecución. 36 00:02:15,900 --> 00:02:18,000 Ahí vamos a tener que hacer otra cosa diferente. 37 00:02:18,510 --> 00:02:19,890 Analizamos lo demás que tenemos. 38 00:02:19,890 --> 00:02:20,980 El app lo necesito. 39 00:02:21,000 --> 00:02:27,150 La carpeta esta de Task lo si lo necesito porque ahí tenemos nuestra función recurrente. 40 00:02:27,420 --> 00:02:29,850 A Pepe lo necesito el 12 file. 41 00:02:30,120 --> 00:02:31,850 Es algo que yo no necesito. 42 00:02:31,860 --> 00:02:32,340 Por qué? 43 00:02:32,520 --> 00:02:34,880 Porque estos son las instrucciones para crear la imagen. 44 00:02:34,950 --> 00:02:38,700 No necesito que este archivo sea parte de la imagen como tal. 45 00:02:39,280 --> 00:02:42,450 Luego tenemos el paquete Floppy JSON que esto dice básicamente. 46 00:02:42,450 --> 00:02:45,600 Cómo fue creado este paquete Slack es subjetivo. 47 00:02:45,610 --> 00:02:50,610 Yo los invito a que ustedes lean más al respecto sobre estos archivos, ya sea el log o el package log 48 00:02:50,610 --> 00:02:52,050 para que tengan una idea de cómo es. 49 00:02:52,050 --> 00:02:57,090 Pero esto es un proceso automático que básicamente indica cómo fueron construidos los nuestro dependencias 50 00:02:57,120 --> 00:02:57,760 lo podemos dejar. 51 00:02:57,760 --> 00:03:00,330 Hay gente que lo deja, gente que no, porque igual se va a reconstruir. 52 00:03:00,750 --> 00:03:02,670 Ahí ya queda a discreción de cada quien. 53 00:03:03,720 --> 00:03:05,430 Pero realmente lean al respecto. 54 00:03:05,430 --> 00:03:08,800 Si a ustedes les interesa mucho esa parte, pero no quiero enfocarme mucho en esa parte, no? 55 00:03:09,570 --> 00:03:11,640 Y básicamente eso es lo que quiero ignorar. 56 00:03:11,640 --> 00:03:12,110 Por ahora. 57 00:03:12,120 --> 00:03:15,000 Todo lo demás va a ser parte de mi aplicación. 58 00:03:15,330 --> 00:03:17,820 Entonces vamos a construir nuevamente esta imagen. 59 00:03:17,910 --> 00:03:19,180 Hagamos el Docker. 60 00:03:19,200 --> 00:03:21,300 Qué cosa vale espacio? 61 00:03:21,600 --> 00:03:25,220 Voy a construir una nueva imagen que va a tener otro tag. 62 00:03:25,230 --> 00:03:28,130 Voy a ponerle aquí Docker will back bakers layout back. 63 00:03:29,050 --> 00:03:33,540 Démosle el té para colocarle el tag que va a ser en este caso Clearing Room Ticker. 64 00:03:33,570 --> 00:03:39,030 Vamos a ponerle Tigre o otra versión, cualquier otro nombre back, slash, enter. 65 00:03:39,480 --> 00:03:44,850 Y bueno, básicamente eso era y tengo que poner punto para que busque el doc en el Docker file en este 66 00:03:44,850 --> 00:03:48,150 post donde me encuentro, presionen enter y dejen que esto empieza a crear todo. 67 00:03:48,550 --> 00:03:50,730 Entonces van a ver que hay varios pasos que están en caché. 68 00:03:50,730 --> 00:03:55,110 Hay otros nuevos como por ejemplo este copie porque ya cambió, porque hay un doc ignore que de hecho 69 00:03:55,110 --> 00:03:57,090 el Docker ignore también debería ser excluido. 70 00:03:57,090 --> 00:04:02,340 Ya lo vamos a revisar por ahí y tenemos nuestra nueva imagen ya creada. 71 00:04:03,010 --> 00:04:11,280 Ok, vamos a hacer un docker, un docker ls ls y aquí tenemos nuestro tigre con el 866. 72 00:04:11,280 --> 00:04:12,810 Entonces montemos este contenedor. 73 00:04:13,140 --> 00:04:14,730 Docker Container run. 74 00:04:15,000 --> 00:04:17,250 El 866. 75 00:04:18,260 --> 00:04:19,370 Bueno, será un poquito diferente. 76 00:04:19,790 --> 00:04:21,980 Y también voy a hacerlo de manera. 77 00:04:23,350 --> 00:04:25,820 Entonces, Docker Container Run menús de. 78 00:04:26,910 --> 00:04:27,930 Y básicamente eso es. 79 00:04:28,590 --> 00:04:30,600 Ya se monta, se monta a nuestra imagen. 80 00:04:30,600 --> 00:04:32,490 Está en el cinco y ocho. 81 00:04:32,880 --> 00:04:39,810 Entonces Docker execute Interactive terminal el nombre del contenedor o el as en este caso sería o su 82 00:04:39,810 --> 00:04:42,720 identificador cinco, cinco y ocho. 83 00:04:42,720 --> 00:04:47,970 En mi caso espacio y el comando que quiero utilizar o el ejecutable que quiero ejecutar para correr. 84 00:04:48,750 --> 00:04:54,300 En este caso mi aplicación sería Bin Slash, un shell Command. 85 00:04:55,300 --> 00:04:56,290 Estamos dentro de la imagen. 86 00:04:56,320 --> 00:04:59,440 Hagamos un LS y vamos a ver que aquí pasan varias cosas. 87 00:04:59,650 --> 00:05:01,150 Tenemos los modulos de Node. 88 00:05:02,200 --> 00:05:02,680 Perfecto. 89 00:05:02,680 --> 00:05:04,030 Pero estos son los que se crearon. 90 00:05:04,060 --> 00:05:05,560 No veo el doc ignore. 91 00:05:05,650 --> 00:05:10,230 Tengo el test, tengo los Task, pero me da más de uno y no está el doc ignore. 92 00:05:10,630 --> 00:05:16,780 Voy a hacer un LS menos a L para que muestre todos los archivos y eso incluye los archivos ocultos. 93 00:05:16,780 --> 00:05:18,220 Y aquí van a ver que está oculto. 94 00:05:18,220 --> 00:05:20,170 El doc ignore por defecto. 95 00:05:20,170 --> 00:05:25,500 Esto luego lo oculta, porque cuando esta nomenclatura básicamente es para ocultarlos y posiblemente 96 00:05:25,520 --> 00:05:30,460 ustedes estaban dándole seguimiento a su proyecto, a su repositorios, imagen que es bien común, También 97 00:05:30,460 --> 00:05:37,060 va a aparecer la carpeta de Git, la cual contiene todo el repositorio como ustedes lo tienen, o sea 98 00:05:37,060 --> 00:05:37,720 los cambios. 99 00:05:38,500 --> 00:05:43,870 Entonces voy a presionar o escribir exit y también tenemos que hacer ciertos ajustes a nuestro doc ignore. 100 00:05:43,960 --> 00:05:49,120 Entonces voy a ignorar la carpeta punto git y también voy a ignorar el git. 101 00:05:49,120 --> 00:05:56,050 Ignore el doc que ignore Técnicamente también nosotros ocuparemos ignorar el git ignore, porque ese 102 00:05:56,050 --> 00:05:59,470 archivo no me sirve para nada, porque ese es el archivo propiamente de git. 103 00:05:59,470 --> 00:06:03,460 Y ustedes tendrían que excluir cosas que ustedes saben del programa que están creando. 104 00:06:03,460 --> 00:06:06,100 Qué cosas no son necesarias para pasarlas? 105 00:06:06,670 --> 00:06:07,690 Entonces se los cambios. 106 00:06:07,690 --> 00:06:13,030 Voy a regresar a la terminal limpia y podemos ejecutar el mismo comando de construcción del Docker Belt 107 00:06:13,960 --> 00:06:15,110 y sigamos trabajándolo. 108 00:06:15,130 --> 00:06:21,160 Con el Tigre presionamos Enter, casi todo va a estar en caché y vuelve a construir la nueva imagen. 109 00:06:21,730 --> 00:06:24,580 Ok, entonces nuevamente ya construimos la nueva imagen. 110 00:06:26,750 --> 00:06:30,410 Voy a hacer un image LS Y aquí tenemos la nueva versión. 111 00:06:30,530 --> 00:06:32,660 Bueno, no, vamos a ver, no le puse el tag. 112 00:06:33,410 --> 00:06:34,370 Vamos a hacerlo de nuevo. 113 00:06:34,550 --> 00:06:40,310 Docker Docker Beagle Espacio clearing class Crowd ticker. 114 00:06:42,280 --> 00:06:43,580 Bueno, este es el tag. 115 00:06:45,560 --> 00:06:46,370 Y punto. 116 00:06:46,670 --> 00:06:49,310 Y se me olvidó ponerle el tag que sería Tigre. 117 00:06:49,520 --> 00:06:50,450 Perdón, perdón por eso. 118 00:06:50,450 --> 00:06:53,120 Entonces nuevamente era para ver si estaban poniendo atención. 119 00:06:53,990 --> 00:06:57,590 Docker vale menos para ponerle el nuevo tag y es el tigre. 120 00:06:58,100 --> 00:06:59,660 Presionamos Enter para que lo cree. 121 00:06:59,660 --> 00:07:04,520 Y técnicamente, como esta es la última versión, es muy fácil simplemente presionar la flecha direccional 122 00:07:04,520 --> 00:07:05,820 arriba y poner aquí. 123 00:07:06,680 --> 00:07:08,980 O simplemente no ponerlo, presionar enter. 124 00:07:08,990 --> 00:07:16,910 Y eso también usa el mismo código anterior para crearnos el tag latest docker image ls Y vamos a ver 125 00:07:16,910 --> 00:07:17,970 que el test. 126 00:07:19,480 --> 00:07:20,560 El aire que tenemos aquí. 127 00:07:20,560 --> 00:07:21,720 Y el tigre tienen el mismo. 128 00:07:23,570 --> 00:07:30,020 Aquí tenemos una que todavía anda flotando por ahí, pero por lo menos ya redujimos algún tipo de despacio 129 00:07:30,020 --> 00:07:31,070 en nuestra aplicación. 130 00:07:31,280 --> 00:07:35,420 Pero todavía hay una optimización importante que nosotros tendríamos que hacer. 131 00:07:35,900 --> 00:07:38,960 Voy a borrar todos los contenedores. 132 00:07:39,140 --> 00:07:40,190 Docker container. 133 00:07:40,230 --> 00:07:42,470 Ls va a ver que tengo uno corriendo. 134 00:07:43,040 --> 00:07:45,180 Docker Container RM. 135 00:07:45,650 --> 00:07:47,360 F y voy a borrar el. 136 00:07:47,810 --> 00:07:51,530 Bueno, de hecho no lo borren todavía o si quieren lo pueden borrar y vamos a volverlo a montar con 137 00:07:51,530 --> 00:07:52,340 la última versión. 138 00:07:53,780 --> 00:07:56,660 Y ahora montemos nuestra versión Tigre. 139 00:07:57,120 --> 00:08:06,290 Ok, Docker Container Run Cleaning Slash Crown Ticker es su nombre y es el Aires o el Tigre, que fue 140 00:08:06,290 --> 00:08:07,100 la última versión. 141 00:08:08,080 --> 00:08:10,870 Vamos a colocar esto desplazado de la terminal. 142 00:08:11,230 --> 00:08:12,880 Y ahora ingresemos a esa terminal. 143 00:08:12,960 --> 00:08:13,780 Eso sí, que no lo hagan. 144 00:08:13,780 --> 00:08:24,010 Pero les quiero explicar algo Docker execute Interactive terminal Entremos a el 739 con el comando bin 145 00:08:24,880 --> 00:08:26,410 sh para hacer un shell coman. 146 00:08:26,920 --> 00:08:28,780 Si hago un LS vamos a ver los módulos de Node. 147 00:08:29,260 --> 00:08:34,320 Si yo hago un cd a los módulos de NOT y luego hago un LS, van a ver que aquí tenemos todas otra vez 148 00:08:34,330 --> 00:08:38,110 todas las dependencias de nuestra aplicación que están bien ok. 149 00:08:38,290 --> 00:08:42,550 Está bien que estén, pero nuevamente yo no ocupo, yo no ocupo. 150 00:08:43,480 --> 00:08:48,040 Bueno, no ocupo nada de lo relacionado a Gest, pero definitivamente las copiamos. 151 00:08:48,040 --> 00:08:49,870 Y esto está ocultando nuestra imagen. 152 00:08:50,950 --> 00:08:52,510 Lo que vamos a hacer a continuación. 153 00:08:52,900 --> 00:08:54,930 Ya le voy a explicar la solución. 154 00:08:54,940 --> 00:08:57,430 Una solución que es más elegante de lo que vamos a hacer. 155 00:08:57,430 --> 00:09:02,740 Pero nuevamente quiero hacerlo de manera empírica, como lo haríamos si no conociéramos la Lo que vamos 156 00:09:02,740 --> 00:09:07,870 a ver en la próxima sección, que es un multi stage o un múltiple, o una construcción en múltiples 157 00:09:07,870 --> 00:09:13,090 etapas state o en múltiples stages, podríamos decirlo así en múltiples escenarios, que eso es genial, 158 00:09:13,090 --> 00:09:13,930 ya lo vamos a ver. 159 00:09:14,650 --> 00:09:21,240 Pero técnicamente nosotros podríamos pensar una vez ya ejecutamos nuestro testing y el testing pasa, 160 00:09:21,280 --> 00:09:29,140 ya no ocupo todas las dependencias que tenemos aquí hay un comando de npm para limpiarlo, pero voy 161 00:09:29,140 --> 00:09:29,980 a hacerlo de otra manera. 162 00:09:29,980 --> 00:09:35,290 Voy a borrar los módulos de nodos mediante un comando y los voy a reconstruir únicamente utilizando 163 00:09:35,290 --> 00:09:36,460 los comandos de producción. 164 00:09:36,940 --> 00:09:40,420 Pero eso lo vamos a hacer y también tengo que eliminar todo el testing y eso también lo vamos a hacer 165 00:09:40,420 --> 00:09:41,230 en la próxima clase. 166 00:09:41,230 --> 00:09:48,790 Pero por ahora, por ahora ya redujimos, aunque sea, aunque sea unos cuantos megas, ya redujimos 167 00:09:48,790 --> 00:09:51,610 algo, pero vamos a terminar esto en la próxima clase.
Compartir