Skip to content

Commit 1c23eb3

Browse files
committed
Update Dockerfile to copy the contents of the "web" folder instead of "content"
1 parent 0c0863c commit 1c23eb3

1 file changed

Lines changed: 49 additions & 52 deletions

File tree

01-contenedores/contenedores-iv/README.md

Lines changed: 49 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -110,89 +110,86 @@ docker container run -dit --name my-container2 \
110110
alpine
111111
```
112112

113-
#Para comprobar a qué contenedores está asociado un volumen
113+
Si quisieras comprobar a qué contenedores está asociado un volumen:
114+
115+
```bash
114116
docker ps --filter volume=my-data --format "table {{.Names}}\t{{.Mounts}}"
117+
```
115118

116-
#Inspeccionar el volumen
117-
docker volume inspect my-data
119+
### Inspeccionar el volumen
118120

119-
#En Mac y Windows no podemos ver el contenido de la ruta donde se guardan los volúmenes.
120-
#En Linux podríamos:
121-
ssh gis@137.135.216.143
121+
Al inspeccionar cualquiera de los volúmenes podemos ver cuál es la ruta donde se están almacenando:
122122

123-
#Creamos en este tipo de host los volumenes anteriores, si no estás trabajando en Linux
124-
sudo docker container run -dit --name my-container \
125-
--mount source=my-data,target=/vol \
126-
alpine
127-
sudo docker volume create data
123+
```bash
124+
docker volume inspect my-data
125+
```
128126

129-
#Al inspeccionar cualquiera de los volúmenes podemos ver cuál es la ruta donde se están almacenando
130-
sudo docker volume inspect my-data
131-
#Esta es la ruta donde Docker almacena los volúmenes
132-
sudo ls -l /var/lib/docker/volumes
133-
exit
127+
Ahora vamos a añadir algunos datos a nuestro volumen:
134128

135-
#Ahora vamos a añadir algunos datos a nuestro volumen
136-
docker container exec -it my-container sh
137-
echo "Hola Lemoncoders!" > /vol/file1
138-
ls -l /vol
139-
cat /vol/file1
140-
exit
129+
```bash
130+
docker cp web-content/. my-container:/vol
131+
```
132+
133+
Ahora voy a eliminar el contenedor:
141134

142-
#Ahora voy a eliminar el contenedor
135+
```bash
143136
docker rm my-container -f
137+
```
138+
139+
Pero el volumen todavía existe
144140

145-
#Pero el volumen todavía existe
141+
```bash
146142
docker volume ls
143+
```
144+
145+
Por lo que puedo crear un nuevo contenedor y volver a atachar el volumen que tenía con mis datos:
147146

148-
#Por lo que puedo crear un nuevo contenedor y volver a atachar el volumen que tenía con mis datos
147+
```bash
149148
docker container run -dit --name another-container \
150149
--mount source=my-data,target=/vol \
151150
alpine
151+
```
152152

153-
#Comprueba que tu archivo file1 sigue ahí
154-
docker container exec -it another-container sh
155-
ls -l /vol
156-
cat /vol/file1
157-
exit
158-
159-
160-
161-
#### Backups ####
162-
#Creo un contenedor con un volumen llamado dbdata. En este caso voy a utilizar la opción -v en lugar de --mount
163-
docker run -dit -v dbdata:/dbdata --name dbstore ubuntu /bin/bash
153+
### Eliminar un volumen específico
164154

165-
#Compruebo que efectivamente el volumen dbdata se ha generado utilizando el parámetro -v
166-
docker volume ls
155+
Para eliminar un volumen específico, utiliza el comando `docker volume rm` seguido del nombre del volumen. Por ejemplo:
167156

168-
#Ahora copio algunos ficheros dentro del volumen
169-
docker cp some-files/. dbstore:/dbdata
157+
```bash
158+
docker volume rm data
159+
```
170160

171-
#Compruebo que los archivos están ahí
172-
docker exec dbstore ls /dbdata
161+
No puedes eliminar un volumen si hay un contenedor que lo tiene atachado. Te dirá que está en uso.
173162

174-
#Creo un nuevo contenedor y monto el volumen del contenedor dbstore
175-
#Ejecuto el comando tar que comprime el contenido
176-
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
163+
```bash
164+
docker volume rm my-data
165+
```
177166

178-
#Eliminar un volumen específico
179-
docker volume rm data
167+
### Eliminar todos los volumenes que no esté atachados a un contenedor
180168

181-
#No puedes eliminar un volumen si hay un contenedor que lo tiene atachado. Te dirá que está en uso.
182-
docker volume rm my-data
169+
Cuidado con este comando porque eliminará todos los volúmenes que no estén atachados a un contenedor. Para eliminar todos los volúmenes que no estén atachados a un contenedor, utiliza el comando `docker volume prune` seguido de la opción `-f`. Por ejemplo:
183170

184-
#Eliminar todos los volumenes que no esté atachados a un contenedor
171+
```bash
185172
docker volume prune -f
173+
```
174+
175+
## Tmpfs mount
186176

177+
La última forma de almacenar datos en Docker es utilizando un tmpfs mount. Un tmpfs mount es un sistema de archivos temporal que se almacena en la memoria RAM de tu host. Esto significa que si apagas tu máquina, perderás todos los datos que hayas almacenado en tu contenedor.
187178

188-
#Tmpfs mount
179+
```bash
189180
docker run -dit --name tmptest --mount type=tmpfs,destination=/usr/share/nginx/html/ nginx:latest
190181
docker container inspect tmptest
182+
```
183+
184+
También se puede usar el parámetro --tmpfs
191185

192-
#También se puede usar el parámetro --tmpfs
186+
```bash
193187
docker run -dit --name tmptest2 --tmpfs /app nginx:latest
188+
```
194189

190+
```bash
195191
docker container inspect tmptest2 | grep "Tmpfs" -A 2
192+
```
196193

197194

198195
### Monitorización ###

0 commit comments

Comments
 (0)