Docker 3 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Trabajo con logs y kill
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
el
00:03:51
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:
- Idioma/s subtítulos:
- 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