Logo Studenta

12 Dockerignore

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.

Continuar navegando

Contenido elegido para ti

3 pag.
PRACTICA 12 WORD

IPN

User badge image

Ramiro Yescas Resendiz

4 pag.
12 CONFIGURACION DE SERVIDORES

SIN SIGLA

User badge image

FERNANDO REINA