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,900 --> 00:00:10,460 En la clase anterior nos quedamos con el siguiente código nuestro Docker File. 2 00:00:10,670 --> 00:00:13,760 Estamos tomando esta versión de Linux que ya viene con New preinstalado. 3 00:00:13,770 --> 00:00:20,990 Nos movimos de directorio y copiamos la carpeta el archivo C, también el package punto JSON de nuestra 4 00:00:21,030 --> 00:00:28,370 de nuestro proyecto y lo estamos pegando en el pack relativo a este working directory que sería app 5 00:00:29,330 --> 00:00:29,570 ok. 6 00:00:30,110 --> 00:00:36,620 Esto significaría así como está el código, nosotros copiamos únicamente si quieren esto, si quieren 7 00:00:36,620 --> 00:00:37,250 no lo hagan. 8 00:00:37,370 --> 00:00:38,810 Esto solo es una explicación. 9 00:00:39,620 --> 00:00:45,020 Básicamente el Docker falta poco existiría, pero básicamente esos son los dos archivos que ahora tenemos 10 00:00:45,020 --> 00:00:46,160 dentro de esta carpeta. 11 00:00:46,650 --> 00:00:51,710 Ok, el paquete en el app es lo único que tenemos dentro de la nueva imagen que estamos creando. 12 00:00:52,010 --> 00:00:58,820 Pero se acordarán ustedes que para poder ejecutar esto ocupamos los módulos de Node y cómo reconstruimos 13 00:00:58,820 --> 00:01:02,360 nosotros o como ejecutamos el procedimiento para reconstruir esos modelos de Node? 14 00:01:02,750 --> 00:01:08,660 Bueno, muy fácil, hacíamos un npm, bueno tal vez no lo hemos visto, pero hacemos un npm install. 15 00:01:09,890 --> 00:01:12,320 Esto es algo propio de aplicaciones de node. 16 00:01:12,350 --> 00:01:19,640 Esto le dice no package manager ve al archivo del package punto JSON, mira las dependencias y la dependencia 17 00:01:19,640 --> 00:01:21,410 de desarrollo que todavía no tenemos ninguna. 18 00:01:22,430 --> 00:01:25,910 Mira las dependencias y haz la instalación. 19 00:01:26,360 --> 00:01:31,130 Esto a la vez reconstruye el paquete bug catch, lo que dice, como fue construido y también teníamos 20 00:01:31,130 --> 00:01:33,410 los módulos de nuevo, que ahí están nuestras dependencias. 21 00:01:34,070 --> 00:01:41,060 Entonces este paso tenemos que hacerlo también para que nuestro nuestra imagen ya las tenga de antemano. 22 00:01:41,870 --> 00:01:44,450 Ok, entonces vamos a venir aquí y ejecutamos. 23 00:01:44,450 --> 00:01:51,380 Ocupamos ejecutar este mismo comando npm install para ejecutar un comando hacemos el run seguido del 24 00:01:51,380 --> 00:01:52,700 comando que queremos ejecutar. 25 00:01:52,710 --> 00:01:57,950 En este caso sería npm show nuevamente como que ustedes vinieran a la terminal y hicieran npm install, 26 00:01:58,310 --> 00:02:03,950 y si ustedes quieren ejecutar más comandos pueden poner ant y otro comando npm install otra vez y npm 27 00:02:03,950 --> 00:02:06,590 solo cualquier cantidad que ustedes de comandos necesitan. 28 00:02:07,870 --> 00:02:13,840 Ok, entonces después de ejecutar el run, eso sería instalar las dependencias. 29 00:02:15,270 --> 00:02:19,470 Entonces después de ejecutar este procedimiento y esto va a ir secuencial, primero hace este paso, 30 00:02:19,470 --> 00:02:21,960 luego hace este paso, luego hacia este paso, luego hace este paso. 31 00:02:21,960 --> 00:02:23,220 Y cuando ese paso termina. 32 00:02:23,610 --> 00:02:26,430 Entonces qué otra cosa necesitaríamos o que ya teníamos? 33 00:02:26,430 --> 00:02:29,910 Ya tenemos el módulo de no, ya teníamos el package loop de JSON, ya tenemos todo. 34 00:02:30,450 --> 00:02:33,270 Entonces lo que sigue era qué cosa? 35 00:02:33,270 --> 00:02:34,380 Voy a venir a la terminal. 36 00:02:35,070 --> 00:02:40,710 Podemos hacer el nodo tap, podemos hacerlo de esta manera con una app o bien podemos hacer el npm start. 37 00:02:40,950 --> 00:02:47,090 Cualquiera de esas dos instrucciones funcionarían porque ya tenemos los scripts, tenemos el package 38 00:02:47,090 --> 00:02:49,680 y tenemos instalado cualquiera de los dos va a funcionar. 39 00:02:49,740 --> 00:02:51,180 Entonces, qué es lo que estoy haciendo aquí? 40 00:02:51,480 --> 00:02:52,710 Necesito ejecutar este. 41 00:02:52,710 --> 00:02:53,130 Qué cosa? 42 00:02:53,130 --> 00:02:54,090 Cómo se llama esto? 43 00:02:54,090 --> 00:02:54,670 Se llama. 44 00:02:54,690 --> 00:02:55,980 Se llama un comando. 45 00:02:56,190 --> 00:02:58,760 Ocupo ejecutar este comando o este de aquí? 46 00:02:58,770 --> 00:02:59,810 Cualquiera de esos dos. 47 00:02:59,820 --> 00:03:02,010 Entonces para eso es CMD de comando. 48 00:03:02,010 --> 00:03:03,390 Y luego viene un ejecutable. 49 00:03:04,080 --> 00:03:06,720 Y esto es una serie de instrucciones que ustedes quieren ejecutar. 50 00:03:06,720 --> 00:03:13,230 Usualmente es la última porque le va a decir a la imagen de Docker qué hacer cuando se empiece a correr 51 00:03:13,230 --> 00:03:14,640 el contenedor con esta imagen. 52 00:03:14,940 --> 00:03:18,000 Este es el comando que se va a ejecutar para iniciar mi aplicación. 53 00:03:18,270 --> 00:03:24,000 En este caso le voy a decir Node coma y la segunda línea sería el API JS. 54 00:03:25,330 --> 00:03:26,980 Y esto va a ser el comando. 55 00:03:28,540 --> 00:03:33,250 Este es el comando que se ejecuta cuando se limpia, cuando se hace el run de la aplicación comando 56 00:03:33,260 --> 00:03:34,940 run de la imagen. 57 00:03:34,960 --> 00:03:35,590 Voy a ponerle así. 58 00:03:36,590 --> 00:03:37,310 Nuevamente. 59 00:03:37,310 --> 00:03:39,710 Yo les dejo a ustedes en la hoja de atajos. 60 00:03:41,070 --> 00:03:44,230 Una definición rápida de cada uno de estos pasos. 61 00:03:44,250 --> 00:03:48,990 Vamos a buscar nuestro Docker File from que es la herencia? 62 00:03:49,560 --> 00:03:53,250 Esto ya vamos a ver sobre los multi stage o multi stats. 63 00:03:53,250 --> 00:03:55,140 Mejor dicho, ya vamos a hablar de eso. 64 00:03:55,320 --> 00:04:01,080 Todavía no hemos visto variables de entorno, pero ya vimos el run inicialización npm install working 65 00:04:01,080 --> 00:04:02,820 directory, que es lo que hace cada cosa. 66 00:04:02,820 --> 00:04:07,170 La definición de volúmenes, agregar archivos, copiar archivos. 67 00:04:07,860 --> 00:04:14,940 Luego tenemos por acá copiar todos los archivos y directorios ex post para exponer un puerto y este 68 00:04:14,940 --> 00:04:19,680 es el comando que se va ejecutar cuando se inicie nuestro contenedor, etc, etcétera. 69 00:04:20,850 --> 00:04:22,050 Básicamente esto es una definición. 70 00:04:22,050 --> 00:04:27,090 Todavía no hemos visto otros comandos y hay muchos más que va a depender de lo que ustedes vayan a necesitar. 71 00:04:27,480 --> 00:04:29,730 En fin, ok, vamos a probarlo aquí. 72 00:04:29,730 --> 00:04:30,650 Construir esta imagen. 73 00:04:30,660 --> 00:04:35,070 Ese es el punto más emocionante de todo, porque no esperen que la primera vez todo le salga bien. 74 00:04:35,880 --> 00:04:40,890 Es muy raro que la primera vez que ustedes hacen una construcción todo les salga de mil maravillas. 75 00:04:40,920 --> 00:04:41,280 Ok? 76 00:04:41,310 --> 00:04:45,540 Muchas veces ustedes van a tener errores, van a leer los errores, van a resolver los errores y van 77 00:04:45,540 --> 00:04:47,730 a volver a ser comandos de construcción. 78 00:04:48,240 --> 00:04:50,670 Entonces vamos a regresar a nuestra terminal. 79 00:04:50,700 --> 00:04:51,690 Limpien todo. 80 00:04:51,690 --> 00:04:51,930 Ups! 81 00:04:51,930 --> 00:04:53,190 Cancelen, Cancela, Inicien todo. 82 00:04:53,460 --> 00:04:54,480 Y es importante. 83 00:04:54,480 --> 00:04:59,490 Si ustedes están en Windows y están usando la ventana de comandos, pueden hacer dir. 84 00:04:59,820 --> 00:05:05,460 Y si están en la terminal pueden ser o terminales en Linux o Mac pueden hacer LS y es muy importante 85 00:05:05,460 --> 00:05:12,420 que ustedes estén en la E, en el PAT donde está la aplicación o donde está su archivo del Docker file. 86 00:05:12,450 --> 00:05:17,970 Este Docker file tiene que estar ahí sin especificar el par relativo, pero para que sea más sencillo, 87 00:05:17,970 --> 00:05:20,370 váyanse a la carpeta donde está el Docker field. 88 00:05:21,120 --> 00:05:27,270 Entonces aquí para hacer comando de construcción sería Docker espacio build que es para construir. 89 00:05:27,660 --> 00:05:29,490 Luego le podemos poner un tag. 90 00:05:29,670 --> 00:05:35,670 Puede ser stack si quiere, podemos hacerlo así y luego usamos la forma corta y le voy a poner un nombre 91 00:05:35,670 --> 00:05:37,500 como por ejemplo Cron Ticker. 92 00:05:37,740 --> 00:05:42,540 Si ustedes no le ponen el tag, se puede poner después, pero después puede que ustedes tengan muchas 93 00:05:42,540 --> 00:05:44,160 imágenes y no sepan cuál es cuál. 94 00:05:44,580 --> 00:05:47,700 Entonces pónganle de una vez el tag espacio. 95 00:05:47,700 --> 00:05:53,760 Ya vamos a hablar sobre las etiquetas también, porque este tag solo lo va a nombrar la imagen, pero 96 00:05:53,760 --> 00:05:56,190 no le va a poner la versión o sí? 97 00:05:56,190 --> 00:05:57,390 Es el bueno por defecto. 98 00:05:57,390 --> 00:06:02,040 Si ustedes no lo especifican aquí le pone test, pero olvídense de eso. 99 00:06:02,490 --> 00:06:09,000 Y luego viene un punto, porque este punto, este punto es el relativo a donde se encuentra el Docker 100 00:06:09,000 --> 00:06:09,360 file. 101 00:06:09,510 --> 00:06:14,620 Si ustedes dicen punto, significaría que se encuentra exactamente en el directorio donde nos encontramos. 102 00:06:14,670 --> 00:06:21,120 Si se encontrara dentro de otro directorio sería pat, dir y no sé donde esté el Docker y ahí debería 103 00:06:21,120 --> 00:06:22,350 ser el Docker Walk, por ejemplo. 104 00:06:24,100 --> 00:06:30,220 Pero usualmente se lo van a ver de esta manera, porque más sencillo van a presionar Enter y este procedimiento 105 00:06:30,220 --> 00:06:32,290 va a empezar a crear la imagen. 106 00:06:32,650 --> 00:06:34,780 En este caso lo hace relativamente rápido. 107 00:06:34,780 --> 00:06:40,360 Tenía, ya tenía en caché algo bueno hubiera borrado todo de antemano, pero esto va a empezar a realizar 108 00:06:40,360 --> 00:06:44,200 una serie de procedimientos y van a ver que hay cuatro, uno de cuatro. 109 00:06:44,200 --> 00:06:45,640 Por qué uno de cuatro? 110 00:06:45,880 --> 00:06:46,510 Por qué? 111 00:06:46,960 --> 00:06:48,850 1234. 112 00:06:49,120 --> 00:06:53,170 Y luego teníamos el CMD, pero el cmd todavía no se ejecuta. 113 00:06:53,170 --> 00:06:57,880 Como ustedes ven aquí no se está ejecutando, ese comando se va a ejecutar cuando se monte la imagen 114 00:06:57,880 --> 00:06:58,590 en un contenedor. 115 00:06:58,600 --> 00:06:59,650 Entonces nuevamente. 116 00:07:00,100 --> 00:07:01,420 1234. 117 00:07:01,600 --> 00:07:02,260 Perfecto. 118 00:07:02,440 --> 00:07:04,150 Luego se crea la imagen y ya. 119 00:07:04,150 --> 00:07:05,440 Eso es básicamente todo. 120 00:07:05,440 --> 00:07:10,460 Si es la primera vez que ustedes lo ejecutan, va a demorar un poco en hacerse como. 121 00:07:10,840 --> 00:07:13,810 Es algo relativamente pequeño, pero tiene que crear algo que más o menos va a pesar. 122 00:07:13,810 --> 00:07:19,120 Como 100 megas, una cosa así, flecha direccional arriba y vuelven a ejecutar exactamente el mismo 123 00:07:19,120 --> 00:07:24,550 comando y van a ver que se hace en fracciones de segundo, porque lo único que hace aquí doc es revisar 124 00:07:24,550 --> 00:07:30,820 si hay algún cambio, ya sea que haya cambios en el código fuente o haya cambios en el orden en el cual 125 00:07:30,820 --> 00:07:36,670 ustedes colocaron esta información, o sea los comandos, una buena práctica es que ustedes coloquen 126 00:07:36,670 --> 00:07:38,800 los comandos que menos cambian arriba. 127 00:07:39,250 --> 00:07:43,630 Por ejemplo, si ustedes fueran a exponer algún puerto, lo colocan aquí arriba, porque cada vez que 128 00:07:43,630 --> 00:07:48,250 ustedes cambian, por ejemplo, si ustedes cambiaran este paso, todos los labels después de este o 129 00:07:48,250 --> 00:07:51,430 los subsiguientes a este se van a volver a ejecutar y a crear. 130 00:07:51,550 --> 00:07:56,520 Entonces eso ayuda a que los labels se mantengan en caché y sea más rápida la construcción. 131 00:07:56,530 --> 00:07:57,370 En fin, no importa. 132 00:07:57,850 --> 00:08:04,390 Regresemos a la consola y hagamos un Docker Image ls Y aquí tenemos nuestro cron ticker versión degrees 133 00:08:04,420 --> 00:08:05,020 y un idee. 134 00:08:05,950 --> 00:08:08,200 Corramos Docker container run. 135 00:08:08,440 --> 00:08:12,480 Voy a correr aquí el cron ticker espacio y nada más. 136 00:08:12,490 --> 00:08:20,050 Enter Docker container run con ticker not inicio cinco segundos después o bueno un poco el segundo. 137 00:08:20,050 --> 00:08:20,740 Cinco diez, 15. 138 00:08:20,740 --> 00:08:21,640 Ustedes me entienden? 139 00:08:22,060 --> 00:08:23,460 Va a empezar a ejecutarse. 140 00:08:23,470 --> 00:08:26,470 Procedimiento súper súper genial. 141 00:08:26,840 --> 00:08:31,900 Ok, básicamente ya tenemos nuestra imagen que tiene más de uno se va a asustar por el peso, pero recuerden, 142 00:08:31,900 --> 00:08:35,530 está Linux que están ahí instalado, tenemos las dependencias, tenemos muchas cosas. 143 00:08:35,530 --> 00:08:39,970 Realmente nuestro código es bien ligero, pero tiene todo el sistema operativo. 144 00:08:40,600 --> 00:08:45,070 Ok, todo lo que nosotros ocupamos para correr la aplicación y ahí está para cancelar la presión en 145 00:08:45,070 --> 00:08:49,810 control C Pero si les pasa como a mí que se está quedando pegado esto control C, entonces podríamos 146 00:08:49,810 --> 00:08:59,140 abrir una nueva instancia y terminar Docker container con Container LS y podemos hacer el docker container 147 00:08:59,740 --> 00:09:05,560 para removerlo forzadamente del E 56 ok? 148 00:09:05,920 --> 00:09:07,780 Y eso ya tiene que terminar el proceso también. 149 00:09:07,780 --> 00:09:09,010 Esa es otra forma de hacerlo. 150 00:09:09,010 --> 00:09:15,850 Y señoras y señores, tenemos nuestra primera imagen que lo que hace es realizar este procedimiento 151 00:09:16,720 --> 00:09:19,720 cada segundo cinco, diez, 15 twenty thirty. 152 00:09:19,990 --> 00:09:24,610 Bien interesante, dejémoslo así por ahora y en la siguiente clase hagamos actualizaciones tanto al 153 00:09:24,610 --> 00:09:28,470 código y hagamos alguna actualización aquí en nuestro Docker File. 154 00:09:28,510 --> 00:09:29,230 Qué les parece? 155 00:09:29,320 --> 00:09:30,490 Nos vemos en el siguiente vídeo.
Compartir