Docker1 - 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:
Pasos primeros en Docker
Bien, vamos ahora con aspectos básicos un poco de Docker, ¿vale? Vamos a empezar un poco a ver manipulaciones varias con Docker. Recordar el concepto de imagen y el concepto de contenedor, ¿de acuerdo?
00:00:00
Un contenedor se genera o se crea a través de una imagen que se descarga fundamentalmente de Docker Hub. Luego trataremos un poco cómo va todo eso, pero recordad, por ejemplo, cómo con Docker Images yo puedo ver las imágenes que, en este caso, yo tengo disponibles en mi sistema.
00:00:14
fijaos que una imagen tiene
00:00:34
evidentemente
00:00:36
un repositorio
00:00:37
que en este caso es Ubuntu, un tag
00:00:40
este tag ya hablaremos luego, en este caso
00:00:42
es el latest, que sería la última versión
00:00:44
de esta imagen que es de Ubuntu
00:00:46
aquí tenemos un id, es único
00:00:47
para cada imagen que tenemos, cuando se
00:00:50
crea en el sistema, el tamaño, etc.
00:00:52
igual que tengo imagen
00:00:55
yo puedo tener con docker la posibilidad
00:00:55
de listar los
00:00:58
contenedores que tengo activos, con docker ps
00:01:00
yo hago una lista de contenedores activos
00:01:02
en este caso no tengo nada
00:01:04
¿por qué? porque no hay ninguno activo
00:01:05
¿eso quiere decir que no tengo ninguno?
00:01:07
no, quiere decir que los que tengo
00:01:08
yo en este caso he creado
00:01:10
no están activos
00:01:11
no están levantados
00:01:14
no están cargados
00:01:16
entonces
00:01:16
para poder sacar el listado de todos los contenedores
00:01:17
que yo tengo en mi sistema
00:01:21
hago un ps-a
00:01:22
¿vale?
00:01:25
entonces fijaos
00:01:26
como aquí
00:01:27
¿vale?
00:01:28
tengo
00:01:29
los ids de los diferentes
00:01:30
contenedores vinculados
00:01:33
con la imagen de la que está creado
00:01:35
cada contenedor, fijaos que esta imagen
00:01:37
es precisamente la de Ubuntu
00:01:38
y bueno, pues aquí el estado
00:01:40
en el que estaban, cuando fue creado
00:01:43
la última vez que me
00:01:45
he conectado a ellos, fijaos que puedo tener por ejemplo
00:01:47
un listado con "-l", del
00:01:48
último contenedor o los últimos contenedores que yo
00:01:51
con los que he trabajado
00:01:53
en última instancia
00:01:54
este nombre de Mike1 ahora no hagamos caso
00:01:56
pues luego lo veremos en otro tutorial cómo trabajar con. Entonces, ¿cuál es la cuestión? Bueno, pues la cuestión es cómo lanzar, cómo empezar a trabajar con esto.
00:01:59
Cuando yo quiero descargar una imagen, lo que hacemos con Docker es hacer un pull, es decir, lo que hago con docker pull es irme a docker hub,
00:02:08
Docker Hub, recordar que es el gran registro en la nube que hay de imágenes disponibles para Docker y traerme la imagen en cuestión. Para esto tengo que saber el nombre
00:02:20
de la imagen o el tag vinculado con la misma. En este caso lo vamos a hacer muy sencillo porque voy a hacer un pool de Nginx, ¿vale? Nginx es, como sabéis, es un servidor web
00:02:30
del tipo de Apache. Entonces, esto lo que va a hacer
00:02:43
este comando va a ser lo siguiente. Voy a dar a
00:02:45
Enter y
00:02:47
lo que va a hacer es buscar
00:02:48
el tag que por defecto
00:02:50
está vinculado con
00:02:53
esta imagen
00:02:55
que yo estoy pidiendo, que es la de Nginx.
00:02:57
Siempre el sistema se va a ir
00:02:59
a por las versiones latest, a por el tag
00:03:01
latest, es decir, las últimas versiones
00:03:03
estables disponibles.
00:03:04
En este caso, fijaos que
00:03:07
le asigna,
00:03:09
tiene un chat, tiene
00:03:10
un identificador, una clave
00:03:12
unívoca a cada una de las imágenes y se la descarga
00:03:15
esta imagen se descarga de este registro a mi banco
00:03:19
de mi ordenador, es decir, a mi registro local
00:03:21
de manera que yo ahora puedo verla
00:03:25
entre las que yo tengo disponibles
00:03:28
en mi sistema
00:03:31
perdón, imágenes
00:03:35
ahí las tenemos, tengo
00:03:38
la que me descargué el otro día, que era de Ubuntu
00:03:40
y esta nueva imagen que me he descargado
00:03:43
de Nginx, vale
00:03:45
ahora mismo, fijaos también
00:03:46
el tamaño, vale, todo lo vemos ahí
00:03:49
que yo quiero
00:03:51
lanzar
00:03:53
por ejemplo, un contenedor
00:03:55
de los que ya tengo, fijaos, tengo
00:03:57
en Docker, vamos a volver a ver
00:03:59
Docker PS
00:04:01
menos A, entonces yo puedo lanzar
00:04:01
alguno de estos contenedores que tengo ya creados
00:04:05
Estos contenedores están basados en la imagen que yo tenía de Ubuntu. Por lo tanto, yo puedo hacer un docker start de un contenedor como este. Fijaos, recomiendo trabajar aquí con el entorno de Ubuntu en una terminal gráfica porque yo puedo hacer esto.
00:04:07
Podéis coger el identificador del contenedor, copiarlo, de momento lo vamos a hacer así, ya veremos que luego más sencillo, y decirle que lance precisamente el contenedor que yo le estoy indicando.
00:04:22
¿Esto qué ha hecho? Bueno, pues no ha hecho nada. ¿Realmente el contenedor está funcionando? Sí, pero está en background. No lo tengo activo, no lo tengo interactivo, no lo tengo en la terminal.
00:04:38
¿De acuerdo? ¿Cómo veo yo eso? Pues lo veo porque hago un docker ps y fijaos que ahora sí que me aparece el contenedor que tengo lanzado
00:04:47
y que tengo activo en este momento. Fijaos que ahí tengo el docker ps y desde aquí yo podría parar este contenedor.
00:04:57
Podría volver a apagar o poder apagar desde aquí. Entonces yo puedo hacer en el terminal docker stop y el identificador del contenedor en cuestión y me lo pararé.
00:05:12
En este caso no lo voy a hacer porque lo que quiero es entrar o trabajar un poco dentro de ese contenedor. ¿Cómo lo hago?
00:05:28
Hay un comando que es docker exec. Este docker exec me permite ejecutar comandos dentro de un contenedor. En este caso yo puedo decirle que voy a abrir una sesión interactiva con el contenedor que tengo rulando, con el contenedor que he lanzado antes.
00:05:36
Entonces, evidentemente el comando que voy a hacer
00:05:53
Que ejecute
00:05:55
Es el comando bash, que es el intérprete de comando
00:05:56
Es decir, ábreme
00:05:59
Una sesión interactiva con este contenedor
00:06:01
Que tengo rulando
00:06:03
En la cual me lances el intérprete de comandos
00:06:04
Para yo poder interactivamente
00:06:07
Operar, interactuar con ese contenedor
00:06:08
Entonces ahora veréis, si yo hago enter
00:06:11
Fijaos que el prompt
00:06:13
Ya me ha cambiado
00:06:14
Y en el prompt me indica
00:06:16
El id que se le asigna a este contenedor
00:06:18
Eso quiere decir que estoy trabajando ya en el mismo y yo puedo hacer un ls, puedo mirar aquí cosas, puedo navegar, etc.
00:06:22
Es decir, fijaos en la cadena de acontecimientos.
00:06:29
Yo cojo, primero me había descargado la imagen, en este caso de Ubuntu, tenía unos contenedores basados en Ubuntu, ¿de acuerdo?
00:06:32
Y entonces, como los tengo, estos contenedores son locales, pues directamente yo cojo, hago un start de un contenedor y luego hago un exit.
00:06:37
¿Exit para qué? Para ejecutar comandos concretos dentro de ese contenedor.
00:06:46
En este caso le digo que con el modificador "-it", me abra una sesión interactiva, porque yo voy a lanzar el comando bus del intérprete de comandos y voy a ponerme a trabajar con este contenedor.
00:06:49
Ahí lo tenemos. Yo puedo salir, fijaos que es curioso, porque aunque me salga del contenedor, el contenedor no va a desaparecer, porque lo he lanzado con el docker start.
00:07:01
aquí por ejemplo
00:07:11
si yo hago un docker
00:07:13
un docker ps
00:07:15
veis que lo sigo teniendo
00:07:17
yo podría pararlo desde aquí
00:07:18
hacer un docker
00:07:20
stop y parar este
00:07:22
contenedor, volver a copiar
00:07:26
pegarlo
00:07:28
para el contenedor y
00:07:34
aquí evidentemente tampoco
00:07:36
lo tendría disponible
00:07:38
un docker ps que es la principal
00:07:39
y ya no lo tengo, es decir el contenedor
00:07:41
sigue estando
00:07:44
pero
00:07:45
está como de los últimos utilizados
00:07:46
el estado es exited pero se ha utilizado
00:07:51
hace poco y ya no está activo
00:07:53
bueno, pues esto simplemente
00:07:55
es este pequeño micro vídeo
00:07:57
de ver como recopilando
00:07:59
como tenemos las imágenes
00:08:01
por un lado, como hemos hecho un
00:08:03
pool de una imagen, es decir, nos las hemos
00:08:05
descargado en local, la imagen
00:08:07
¿vale? luego como hemos
00:08:09
lanzado
00:08:11
hemos visto los
00:08:13
perdón, los contenedores que teníamos, hemos lanzado
00:08:14
un contenedor que teníamos
00:08:17
respecto de una imagen de Ubuntu que ya teníamos descargada
00:08:18
y luego cómo trabajar y meterme dentro
00:08:21
de un contenedor que lo he lanzado
00:08:23
en modo background, en modo simplemente
00:08:24
no interactivo
00:08:26
con este comando de docker exit
00:08:28
seguimos luego en el siguiente video
00:08:30
- Idioma/s:
- Autor/es:
- Miguel Ángel Riballo
- Subido por:
- Miguel Angel R.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 29
- Fecha:
- 17 de mayo de 2023 - 11:06
- Visibilidad:
- Clave
- Centro:
- IES TETUAN DE LAS VICTORIAS
- Duración:
- 08′ 35″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 35.84 MBytes