Skip to content

Commit f4adc45

Browse files
committed
Revisada la parte de volúmenes del módulo V
1 parent dc6df1a commit f4adc45

2 files changed

Lines changed: 46 additions & 14 deletions

File tree

01-contenedores/contenedores-v/contenedores-v.sh

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,43 @@
11
# Parte 5: Volúmenes #
22

3+
cd 01-contenedores/contenedores-v
4+
35
#Listar los volumenes en el host
46
docker volume ls
57

6-
#Crear un nuevo volumen
8+
#Crear un nuevo volumen con create
79
docker volume create data
8-
9-
#Inspeccionar el volumen
10-
docker volume inspect data
11-
12-
#Eliminar un volumen específico
13-
docker volume rm data
14-
15-
#Eliminar todos los volumenes que no esté atachados a un contenedor
16-
docker volume prune -f
10+
docker volume ls
1711

1812
#Crear un contenedor que a su vez crea un volumen
1913
docker container run -dit --name my-container \
2014
--mount source=my-data,target=/vol \
2115
alpine
2216

17+
#Se puede utilizar tanto --mount como -v (o --volume)). Originalmente --mount solo se usaba para el modo clúster. Sin embargo, desde la versión 17.06 (Vamos por la 10.03.13) se puede utilizar para contenedores independientes.
18+
19+
2320
#Puedes comprobar que el volumen se ha creado correctamente
2421
docker volume ls
2522

26-
#No puedes eliminar un volumen si hay un contenedor que lo tiene atachado. Te dirá que está en uso.
27-
docker volume rm my-data
23+
#Inspeccionar el volumen
24+
docker volume inspect my-data
25+
26+
#En Mac y Windows no podemos ver el contenido de la ruta donde se guardan los volúmenes.
27+
#En Linux podríamos:
28+
ssh gis@137.135.216.143
29+
30+
#Creamos en este tipo de host los volumenes anteriores, si no estás trabajando en Linux
31+
sudo docker container run -dit --name my-container \
32+
--mount source=my-data,target=/vol \
33+
alpine
34+
sudo docker volume create data
35+
36+
#Al inspeccionar cualquiera de los volúmenes podemos ver cuál es la ruta donde se están almacenando
37+
sudo docker volume inspect my-data
38+
#Esta es la ruta donde Docker almacena los volúmenes
39+
sudo ls -l /var/lib/docker/volumes
40+
exit
2841

2942
#Ahora vamos a añadir algunos datos a nuestro volumen
3043
docker container exec -it my-container sh
@@ -51,12 +64,30 @@ cat /vol/file1
5164
exit
5265

5366
# Backups
54-
#Creo un contenedor con un volumen llamado dbdata
55-
docker run -v /dbdata --name dbstore ubuntu /bin/bash
67+
#Creo un contenedor con un volumen llamado dbdata. En este caso voy a utilizar la opción -v en lugar de --mount
68+
docker run -dit -v dbdata:/dbdata --name dbstore ubuntu /bin/bash
69+
70+
#Compruebo que efectivamente el volumen dbdata se ha generado utilizando el parámetro -v
71+
docker volume ls
72+
73+
#Ahora copio algunos ficheros dentro del volumen
74+
docker cp some-files/. dbstore:/dbdata
75+
76+
#Compruebo que los archivos están ahí
77+
docker exec dbstore ls /dbdata
78+
5679
#Creo un nuevo contenedor y monto el volumen del contenedor dbstore
5780
#Ejecuto el comando tar que comprime el contenido
5881
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
5982

83+
#Eliminar un volumen específico
84+
docker volume rm data
85+
86+
#No puedes eliminar un volumen si hay un contenedor que lo tiene atachado. Te dirá que está en uso.
87+
docker volume rm my-data
88+
89+
#Eliminar todos los volumenes que no esté atachados a un contenedor
90+
docker volume prune -f
6091

6192
## Bind mounts ##
6293

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Hello, World from file1.txt!

0 commit comments

Comments
 (0)