1 00:00:00,240 --> 00:00:29,620 Bien, vamos a hacer un ejemplo un poco más completo que antes de la creación de un volumen y creo que lo vas a entender bastante. Vamos a generar el siguiente comando, vamos a hacer un docker run, menos 7, vamos a poner menos v y le vamos a decir que haga un ejemplo, voy a ponerle ejemplo 3 y le vamos a decir lo mismo, le vamos a decir que crea un contenedor de 1. 2 00:00:30,239 --> 00:00:40,840 Bien, en este caso, fijaos, me va a abrir evidentemente la terminal, lo va a hacer en interactivo y tengo aquí mi contenedor creado. Aquí hay una cosa muy chula. 3 00:00:41,560 --> 00:00:51,119 Primero vamos a inspeccionar el contenedor, porque vamos a ver, aquí hemos creado un volumen, ciertamente, y sabemos que dentro de ese contenedor, es decir, yo hago aquí un ls 4 00:00:51,119 --> 00:00:53,820 y tengo estos directorios 5 00:00:53,820 --> 00:00:54,960 hay un directorio que es ejemplo 3 6 00:00:54,960 --> 00:00:57,920 que en realidad es un volumen que tiene que ver 7 00:00:57,920 --> 00:00:59,700 con un directorio local de mi máquina 8 00:00:59,700 --> 00:01:01,619 aficionada, yo puedo hacer 9 00:01:01,619 --> 00:01:03,939 y irme a este ejemplo 3 10 00:01:03,939 --> 00:01:05,980 y todo lo que yo hiciese 11 00:01:05,980 --> 00:01:07,439 aquí, por ejemplo si hago un touch 12 00:01:07,439 --> 00:01:09,620 de F1, puro 3D 13 00:01:09,620 --> 00:01:11,459 puede ser que tenga reflejo 14 00:01:11,459 --> 00:01:13,379 ahora lo vamos a ver en mi máquina red 15 00:01:13,379 --> 00:01:14,519 vamos a ver cómo 16 00:01:14,519 --> 00:01:17,420 si recordamos algunos, vamos a recordar 17 00:01:17,420 --> 00:01:19,120 algunos de los comandos que hemos visto 18 00:01:19,120 --> 00:01:20,680 si me abro una nueva terminal 19 00:01:20,680 --> 00:01:22,180 como root 20 00:01:22,180 --> 00:01:27,730 bien, hago un cd 21 00:01:27,730 --> 00:01:29,030 aquí vamos a ver una cosa 22 00:01:29,030 --> 00:01:31,109 primero lo que quiero saber es 23 00:01:31,109 --> 00:01:33,290 cuál es el volumen correspondiente 24 00:01:33,290 --> 00:01:34,930 a este contenedor que he creado 25 00:01:34,930 --> 00:01:36,489 recordar el comando docker 26 00:01:36,489 --> 00:01:39,750 inspect, si yo hago un docker ps 27 00:01:39,750 --> 00:01:41,609 yo voy a saber cuál es el id 28 00:01:41,609 --> 00:01:43,049 de el 29 00:01:43,049 --> 00:01:45,510 contenedor que ahora mismo tengo rulando, porque está funcionando 30 00:01:45,510 --> 00:01:47,170 fijaos que aquí estoy dentro del contenedor 31 00:01:47,170 --> 00:01:49,049 es este de aquí, su id 32 00:01:49,049 --> 00:01:51,549 bueno, pues una vez que tengo el id lo voy a copiar 33 00:01:51,549 --> 00:01:53,390 yo puedo hacerle un 34 00:01:53,390 --> 00:02:02,349 inspect a ese contenedor. ¿Y por qué hacemos eso? Porque me interesa saber el nombre del 35 00:02:02,349 --> 00:02:08,990 volumen interno. Ahora lo vamos a ver. Fijaos, esta es la información de todo lo que sería 36 00:02:08,990 --> 00:02:15,629 el contenedor y fijaos una cosa, aquí aparece algo que se llama volumes, lo veis, acordaos 37 00:02:15,629 --> 00:02:21,770 que estos ficheros están en formato JSON y aquí lo que me dice es que tengo un volumen 38 00:02:21,770 --> 00:02:24,009 local, una carpeta, un volumen en el contenedor 39 00:02:24,009 --> 00:02:26,009 perdón, que es ejemplo 3, que se corresponde 40 00:02:26,009 --> 00:02:27,569 con un volumen local 41 00:02:27,569 --> 00:02:29,789 ¿esa correspondencia cuál es? pues si nos vamos 42 00:02:29,789 --> 00:02:31,930 un poquito más para arriba, fijaos 43 00:02:31,930 --> 00:02:33,949 aquí donde me habla de la fuente 44 00:02:33,949 --> 00:02:35,969 de montaje, en realidad lo que hace 45 00:02:35,969 --> 00:02:37,530 Docker es que está montando 46 00:02:37,530 --> 00:02:39,990 ese directorio ahí, fijaos 47 00:02:39,990 --> 00:02:41,909 esta fuente de montaje, fijaos 48 00:02:41,909 --> 00:02:42,550 este camino 49 00:02:42,550 --> 00:02:45,750 este camino está en volumes, que es donde 50 00:02:45,750 --> 00:02:47,770 os explicaba yo antes, voy a hacerle un 51 00:02:47,770 --> 00:02:49,710 copiar a esto, entonces yo 52 00:02:49,710 --> 00:02:51,310 ahora puedo coger y 53 00:02:51,310 --> 00:02:53,629 hacer un cd 54 00:02:53,629 --> 00:02:56,129 irme al lugar 55 00:02:56,129 --> 00:02:57,430 donde yo localmente 56 00:02:57,430 --> 00:02:59,629 tengo el volumen 57 00:02:59,629 --> 00:03:01,909 de ese contenedor 58 00:03:01,909 --> 00:03:02,629 que tengo rubrando 59 00:03:02,629 --> 00:03:05,389 y dentro del barra data 60 00:03:05,389 --> 00:03:06,949 si hago un ls 61 00:03:06,949 --> 00:03:08,710 vais a ver que tengo 62 00:03:08,710 --> 00:03:11,229 el fichero f1.txt 63 00:03:11,229 --> 00:03:13,370 ese fichero f1.txt 64 00:03:13,370 --> 00:03:16,270 se corresponde con el fichero 1.txt 65 00:03:16,270 --> 00:03:18,009 que tengo 66 00:03:18,009 --> 00:03:19,750 dentro del contenedor 67 00:03:19,750 --> 00:03:32,409 que tengo funcionando en esta otra terminal, ¿de acuerdo? Es decir, yo puedo extrapolar y hacer cosas de mi máquina anfitriona y que se reflejen en el contenedor 68 00:03:32,409 --> 00:03:47,250 y viceversa, es decir, yo aquí podría, veis, he hecho un ls, ahí tengo el fichero, yo aquí podría hacer también un touch y decirle f2.txt y en mi máquina dentro del contenedor 69 00:03:47,250 --> 00:03:49,289 si yo ahora hago un ls dentro de ejemplo 3 70 00:03:49,289 --> 00:03:51,289 aparece, como por arte de magia 71 00:03:51,289 --> 00:03:52,629 ese nuevo fichero que acabo de crear 72 00:03:52,629 --> 00:03:55,270 esta es una forma de crear contenedores 73 00:03:55,270 --> 00:03:57,509 bastante interesante, que nos permiten 74 00:03:57,509 --> 00:03:59,530 realmente, lo que estamos haciendo es mapear 75 00:03:59,530 --> 00:04:01,250 mapear un directorio 76 00:04:01,250 --> 00:04:03,310 como otro 77 00:04:03,310 --> 00:04:05,229 directorio de la máquina 78 00:04:05,229 --> 00:04:07,569 local o anfitriona 79 00:04:07,569 --> 00:04:09,189 y viceversa, vale 80 00:04:09,189 --> 00:04:11,569 seguimos un poco en el siguiente capítulo con los volúmenes