11# Parte 4: Volúmenes #
22
3- cd 01-contenedores/contenedores-v
3+ cd 01-contenedores/contenedores-iv
44
55# Listar los volumenes en el host
66docker volume ls
@@ -71,7 +71,30 @@ ls -l /vol
7171cat /vol/file1
7272exit
7373
74- # Backups
74+
75+ # # Bind mounts ##
76+
77+ # Se utiliza cuando quieres montar un archivo o directorio dentro de un contenedor
78+ cd 01-contenedores/contenedores-iv
79+ # dev-folder es el directorio que voy a montar dentro de mi contenedor
80+ docker run -dit --name devtest --mount type=bind,source=" $( pwd) " /dev-folder,target=/usr/share/nginx/html/ -p 8080:80 nginx
81+ docker inspect devtest
82+ # Ahora cambia en el host el contenido de la carpeta dev-folder
83+
84+ # Usar el bind mount como read-only
85+ docker rm -f devtest
86+ docker run -dit --name devtest --mount type=bind,source=" $( pwd) " /dev-folder,target=/usr/share/nginx/html/,readonly -p 8080:80 nginx
87+ docker inspect devtest
88+
89+ # Como está en modo lectura, en teoría no podría crear ningún archivo dentro del directorio donde está montada mi carpeta local
90+ docker container exec -it devtest sh
91+ ls /usr/share/nginx/html
92+ touch /usr/share/nginx/html/index2.html # Dará error porque el montaje está en modo read-only
93+ exit
94+
95+
96+
97+ # ### Backups ####
7598# Creo un contenedor con un volumen llamado dbdata. En este caso voy a utilizar la opción -v en lugar de --mount
7699docker run -dit -v dbdata:/dbdata --name dbstore ubuntu /bin/bash
77100
@@ -97,26 +120,6 @@ docker volume rm my-data
97120# Eliminar todos los volumenes que no esté atachados a un contenedor
98121docker volume prune -f
99122
100- # # Bind mounts ##
101-
102- # Se utiliza cuando quieres montar un archivo o directorio dentro de un contenedor
103- cd 01-contenedores/contenedores-v
104- # dev-folder es el directorio que voy a montar dentro de mi contenedor
105- docker run -dit --name devtest --mount type=bind,source=" $( pwd) " /dev-folder,target=/usr/share/nginx/html/ -p 8080:80 nginx
106- docker inspect devtest
107- # Ahora cambia en el host el contenido de la carpeta dev-folder
108-
109- # Usar el bind mount como read-only
110- docker rm -f devtest
111- docker run -dit --name devtest --mount type=bind,source=" $( pwd) " /dev-folder,target=/usr/share/nginx/html/,readonly -p 8080:80 nginx
112- docker inspect devtest
113-
114- # Como está en modo lectura, en teoría no podría crear ningún archivo dentro del directorio donde está montada mi carpeta local
115- docker container exec -it devtest sh
116- ls /usr/share/nginx/html
117- touch /usr/share/nginx/html/index2.html # Dará error porque el montaje está en modo read-only
118- exit
119-
120123
121124# Tmpfs mount
122125docker run -dit --name tmptest --mount type=tmpfs,destination=/usr/share/nginx/html/ nginx:latest
0 commit comments