Saltar navegación

Docker 3 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de mayo de 2023 por Miguel Angel R.

6 visualizaciones

Trabajo con logs y kill

Descargar la transcripción

Bien, vamos a seguir un poco con todo esto. Vamos a ver ahora un proceso bastante interesante. Primero, en la adquisición de las imágenes, fijaos cómo aparece al lado de la imagen que tenemos, el nombre que tiene, un tag, una especie de etiqueta que pueda tener cada una de las imágenes de las que tenemos en el registro de Docker Hub. 00:00:00
yo aquí me he abierto el navegador 00:00:23
esto es mi cuenta, me parece que vosotros 00:00:25
tenéis también ya cuenta con Docker Hub 00:00:27
fijaos, estaba mirando por ejemplo una imagen 00:00:29
de Ubuntu, si os fijáis 00:00:31
aquí os viene como hacer un pull, Docker 00:00:33
pull de Ubuntu, recordemos 00:00:35
como esto simplemente lo que me hace es que me descarga 00:00:37
la versión latest, es decir, el tag 00:00:39
latest de 00:00:41
esta imagen Ubuntu, pero observar 00:00:43
como si vamos haciendo un scroll 00:00:45
hay distintos 00:00:47
tags o etiquetas 00:00:49
vinculadas con distintas, bueno pues 00:00:51
distintas imágenes de este mismo sistema operativo. Aquí tenemos, por ejemplo, la 2204, la 2104, aquí tenemos, por ejemplo, pues cualquiera de ellas 00:00:53
están disponibles. Si queremos alguna en concreto, por ejemplo, vamos a ver, vamos a buscar engines, aquí tenemos, por ejemplo, las imágenes oficiales 00:01:04
de engines, aquí tengo como hacer el 00:01:16
pool y bueno pues aquí tenemos 00:01:18
los tags 00:01:20
soportados, si nos vamos a la versión 00:01:22
de tags, aparece lo que os estaba enseñando 00:01:24
antes, entonces fijaos por ejemplo aquí 00:01:26
hay un engines con 00:01:28
perl, bueno pues aquí 00:01:30
hay distintos tags de engines 00:01:32
¿cómo podríamos hacer 00:01:34
para descargar alguna de 00:01:36
estas imágenes? 00:01:38
bueno pues muy sencillo, no hay nada más que hacer 00:01:40
algo como lo que viene aquí 00:01:42
es decir, fijaos por ejemplo esta alpine 00:01:44
pues lo que hacemos es 00:01:46
me voy a mi docker 00:01:47
y yo hago un docker 00:01:48
pull 00:01:50
en jinx, en este caso 00:01:52
en jinx, dos puntos 00:01:56
al pine, creo que era así 00:01:59
como no lo encuentra en local, se va a ir a 00:02:01
docker hub para descargárselo 00:02:07
y se lo va a descargar 00:02:08
a ver, era al pine, no era sin h 00:02:10
ahí lo tenemos, no lo encuentra en local 00:02:12
se va al registro de docker hub 00:02:22
y ya tenemos la imagen disponible 00:02:24
si hago un docker 00:02:26
imágenes 00:02:27
y ahí lo tenemos 00:02:28
esto es una forma para que veáis 00:02:32
un poquito como se trabaja con los tags 00:02:35
también de las diferentes imágenes 00:02:37
que podemos tener 00:02:39
vamos a crear un contenedor de esta imagen 00:02:41
entonces yo hago un docker 00:02:43
recordemos 00:02:45
docker 00:02:47
vamos a hacer un docker run 00:02:48
de, fijaos, si hago 00:02:50
menos de, lo que vamos a hacer es que 00:02:53
se va a lanzar al background, es decir 00:02:55
no se va a hacer en interactivo 00:02:57
el lanzamiento de este 00:02:59
contenedor, entonces 00:03:00
le vamos a poner un nombre, menos name 00:03:02
este va a ser ejemplo 2 00:03:05
y le vamos a decir 00:03:06
de la imagen de la que yo quiero 00:03:08
hacer el contenedor, en este caso 00:03:10
de la imagen de Nginx 00:03:12
Nginx 00:03:13
vale, bueno, no he cogido, le tenía que haber dado 00:03:17
perdón, le tenía que haber dado Nginx 00:03:20
dos puntos al pin 00:03:21
¿de acuerdo? porque es la versión que tengo aquí 00:03:24
claro, al haber 00:03:26
hecho aquí solamente Nginx, ¿qué pasa? que 00:03:27
directamente el sistema 00:03:30
se va a la versión latest 00:03:32
como la latest no la tengo descargada 00:03:33
se ha ido directamente a docker hub 00:03:35
y se la ha descargado, bueno no pasa nada 00:03:37
me ha creado ya el contenedor 00:03:39
y el contenedor está 00:03:40
funcionando, me voy a abrir otro 00:03:43
tengo aquí abierto, vale perfecto 00:03:45
no tengo ningún problema, si yo hago aquí un docker 00:03:47
ps, vale, aquí tengo 00:03:49
engines funcionando, de acuerdo 00:03:52
con su contenedor, su IDE 00:03:55
ahí lo tengo rulando perfectamente 00:03:56
Muy bien. Entonces, hemos creado un contenedor de esta versión latest de engines. De acuerdo. Ahora hemos hecho el docker ps, lo tenemos funcionando. 00:03:59
Quiero que veáis un poco el comando docker logs. El docker logs son los registros, ¿vale? El registro de sucesos, el registro del contenedor en cuestión. 00:04:11
En este caso de ejemplo 2. Fijaos que no va a haber mucho registro porque en realidad está recién creado y bueno, pues lo único que tenemos es simplemente más o menos el proceso de un poco de creación de lo que ha sido el contenedor. 00:04:22
Tenemos el contenedor funcionando 00:04:36
Ahora mismo no lo tenemos en interactivo 00:04:40
Está en background, pero yo sé que está trabajando 00:04:42
Recordar que con docker 00:04:44
Exec 00:04:46
Yo podía ejecutar determinados comandos 00:04:46
Dentro de este 00:04:50
De este contenedor 00:04:52
Entonces yo le podía dar 00:04:54
Recordar por ejemplo 00:04:55
Darle un it 00:04:57
Y decirle que me voy a volver a conectar a él 00:04:59
Ejemplo 2 00:05:02
Y decirle que me voy a abrir un bash 00:05:03
entonces en este caso ya tengo el bus 00:05:04
tengo un ls, yo estoy aquí dentro 00:05:08
del contenedor 00:05:10
y no tengo ningún problema 00:05:12
para trabajar con él, yo puedo hacer por ejemplo 00:05:14
un apt 00:05:16
get ubt 00:05:16
y actualizar la paquetería 00:05:19
la lista de paquetes 00:05:22
de el engines 00:05:25
que tengo aquí funcionando 00:05:26
y por ejemplo yo podría 00:05:27
hacer un ejemplo de 00:05:29
instalar dentro de esta 00:05:31
máquina hacer un apt install por ejemplo wget para instalarme el wget dentro de engines 00:05:34
si yo hago por ejemplo me puedo hacer un wget a mi propio localhost recordad que este comando 00:05:46
lo que me hace es que digamos que toma a nivel de web hace una especie de hace un get vale 00:05:51
hace una solicitud a una ip en este caso si hago localhost hace una solicitud a la propia 00:05:59
máquina en la que está, ¿de acuerdo? Yo ahora he hecho esto, fijaos que si yo me voy aquí a mi otra terminal, voy a hacer aquí un docker 00:06:04
y trabajar los logs, ¿vale? Para ver los logs, a ver si ha pasado algo en el contenedor en Liza, en el contenedor del ejemplo que tengo yo, 00:06:14
por ejemplo 2, y fijaos como aquí el log sí que me está diciendo que ya hay, bueno pues, resulta que se ha hecho un wget al localhost, al 127.0.0.1, que es la IP del bucle local, ¿de acuerdo? 00:06:24
Así es como funciona un poco el tema de la gestión de los registros de los contenedores. Quería que lo vieseis un poco también estos comandos. 00:06:41
Más cosas, pues fijaos que desde aquí, desde el propio docker, a ver estoy dentro de la máquina aquí, desde el propio, perdonad, desde el otro terminal yo puedo hacer un docker y hacer un docker top del propio contenedor. 00:06:52
De manera que yo estoy viendo los procesos que tiene lanzados el contenedor de Nginx en ese momento. 00:07:10
Desde fuera, desde el propio Docker. 00:07:20
Si yo, por ejemplo, mandase, hiciese un sleep ahora mismo, se me ocurre, a ver, esta es la, esta es esta de aquí. 00:07:24
Si yo hago aquí, ahora mismo estoy dentro del contenedor, ¿de acuerdo? 00:07:33
a un slip de 500 dentro del contenedor, aquí cuando yo haga el top de ejemplo 2 voy a ver el slip, el slip 500 que acabo de mandar desde dentro de la máquina, ¿de acuerdo? 00:07:36
Yo puedo sacar también estadísticas, fijaos que aquí yo estoy fuera, hago un docker stats de el contenedor y saco las estadísticas del mismo, de utilización de memoria, de CPU, de uso de memoria, de utilización de disco, bueno pues un poco las estadísticas de lo que sería el contenedor con el que estamos trabajando. 00:07:55
aquí lo que tengo, fijaos 00:08:23
en este, estoy dentro de esta máquina 00:08:28
está aquí durmiendo, haría un control c 00:08:30
sigo dentro de la máquina 00:08:32
fijaos que me podría salir haciendo un exit, pero también 00:08:34
puedo matar, digamos 00:08:36
el contenedor, o el proceso del contenedor 00:08:38
eso se puede hacer con el comando de docker 00:08:40
de la siguiente forma 00:08:42
voy a la terminal 00:08:45
esta de aquí, hago un control c 00:08:47
y hago un docker kill 00:08:50
mato 00:08:52
a el contenedor que tengo creado con el engines. Ahí lo tenemos. En este caso, si yo ahora hago un docker ps, ya no tengo el contenedor funcionando. 00:08:53
como un docker ps-a y aquí sí que veo como tengo aquí mi engines y como ya no lo tengo en funcionamiento, fijaos el nombre que aparece como ejemplo 2, 00:09:08
veis que es el nombre que le he dado al principio con el menos. Bueno, pues más ejemplos de operativas que se pueden realizar, como lanzamos un contenedor en background, 00:09:22
digamos por debajo, cómo me puedo meter en él con el exec y cómo puedo ver sus logs, ver su estado desde otro terminal mientras estoy metido en esa misma máquina. 00:09:33
Hay una cosa que también se puede hacer y es que cuando lanzamos un contenedor, por ejemplo, si hago un docker en run, menos de, por ejemplo, aquí he lanzado el contenedor, este de Ubuntu, el background, está funcionando. 00:09:46
yo aquí podría ver 00:10:14
con docker ps 00:10:17
a ver, con docker ps 00:10:19
aquí estoy dentro de la máquina 00:10:22
vale, me tengo que salir aquí, vale, ya lo tengo lanzado 00:10:23
bueno, lo vamos a dejar aquí 00:10:37
porque es que no tenía la imagen 00:10:39
y en el próximo vídeo os explico cómo lanzar 00:10:40
los distintos ejecutables 00:10:43
dentro del contenido 00:10:45
lo dejamos aquí que se ha hecho muy largo 00:10:47
Idioma/s:
es
Idioma/s subtítulos:
es
Autor/es:
Miguel Ángel Riballo Arenas
Subido por:
Miguel Angel R.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
6
Fecha:
17 de mayo de 2023 - 12:37
Visibilidad:
Clave
Centro:
IES TETUAN DE LAS VICTORIAS
Duración:
10′ 50″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
61.56 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid