Skip to content

Commit e6d062b

Browse files
committed
Contenedores: volumenes retocado II
1 parent 2d888eb commit e6d062b

3 files changed

Lines changed: 105 additions & 59 deletions

File tree

demos/contenedores/volumen/Dockerfile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11

22
# imagen de referencia
3-
ARG TAG_IMAGEN=3.13.5-alpine3.22
4-
# ARG TAG_IMAGEN=3.13.5-slim-bookworm
5-
FROM python:${TAG_IMAGEN}
6-
# FROM python:3.13.5-alpine3.22
3+
FROM python:alpine
74

85
# directorio de trabajo (se crea automáticamente)
96
WORKDIR /code

docs/contenedores/despliegue_demo.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ pero esos pasos son meramente opcionales.
207207
Se ordena
208208
la construcción y el despliegue del proyecto:
209209
210-
```bash title="Construir y desplegar"
210+
```bash title="Proyecto - Construir y desplegar"
211211
cd ruta_proyecto
212212
podman compose up --build
213213
```
@@ -222,7 +222,7 @@ con el nombre `imagen-contador` y tag `v1`;
222222
Si todo salió bien debe observarse por consola los *logs*,
223223
algo parecido a:
224224

225-
``` log title="Registro"
225+
``` log title="Proyecto - Registro"
226226
contenedor-contador | 2025-08-27 04:42:57,880 - INFO - Contando hasta 4
227227
contenedor-contador | 2025-08-27 04:42:57,880 - INFO - i: 0
228228
contenedor-contador | 2025-08-27 04:42:58,880 - INFO - i: 1
@@ -235,13 +235,13 @@ contenedor-contador exited with code 0
235235
Este mismo resultado debe repetirse instantáneamente
236236
al consultar los *logs* por terminal:
237237

238-
```bash title="Consultar registro"
238+
```bash title="Proyecto - Consultar registro"
239239
podman compose logs
240240
```
241241

242242
Se puede despertar al contenedor de nuevo:
243243

244-
```bash title="Desplegar"
244+
```bash title="Proyecto - Desplegar"
245245
podman compose up
246246
```
247247

@@ -253,7 +253,7 @@ Para dar de baja (eliminar) el contenedor
253253
y todos sus *logs* internos
254254
simplemente usar el comando `down`:
255255

256-
```bash title="Borrar"
256+
```bash title="Proyecto - Borrar"
257257
podman compose down
258258
```
259259

docs/contenedores/volumenes.md

Lines changed: 99 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
status: deprecated
2+
status: new
33
date:
44
created: 2025-07-01
55
updated: 2025-08-26
@@ -290,7 +290,6 @@ services:
290290
# lista de volumenes implementados
291291
volumes:
292292
nombre_volumen:
293-
external: false # valor default (puede omitirse)
294293
```
295294

296295
El nombre asignado al volumen
@@ -348,6 +347,11 @@ services:
348347
Si la ruta indicada en el sistema host no existe
349348
entonces se creará automáticamente.
350349

350+
Este tipo de volumenes es práctico
351+
para darle un acceso inmediato
352+
de los archivos
353+
a desarrolladores y administradores del proyecto.
354+
351355
!!! warning "Security Options"
352356

353357
El atributo `security_opt`
@@ -365,55 +369,16 @@ entonces se creará automáticamente.
365369

366370

367371

368-
## Inspeccionar volumenes
369-
370-
La lista de volumenes existentes se consulta
371-
con el comando `volume list`:
372-
373-
```bash
374-
podman volume list
375-
```
376-
377-
Los parámetros del volumen de interés
378-
se consultan con el comando `volume inspect`:
379-
380-
381-
```bash
382-
podman volume inspect NOMBRE_VOLUMEN
383-
```
384-
385-
La ruta al contenido del volumen
386-
se indica dentro del campo `Mountpoint`.
387-
Su valor se puede consultar así:
388-
389-
390-
```bash
391-
podman volume inspect NOMBRE_VOLUMEN --format='{{.Mountpoint}}'
392-
```
393-
394-
Accediendo a esta ruta se podrá acceder a los datos
395-
para realizar copias de seguridad,
396-
restablecer los datos,
397-
realizar una migración de plataforma, etc.
398-
399-
!!! tip "Gestión gráfica"
400-
401-
Las aplicaciones de escritorio de Docker y de Podman
402-
permiten visualizar y administrar los volumenes existentes de manera gráfica.
403-
404-
405-
406-
407372
## Ejemplo demo
408373

409374

410-
En este demo la rutina cuenta hasta un número especificado
375+
En este demo se adapta la rutina del contador
411376
pero en este caso los logs salen por consola
412377
y por archivo en simultáneo.
413378
El archivo es creado
414379
con el nombre `reporte.log` y los reportes son acumulativos.
415380

416-
!!! example "demo contar"
381+
???+ example "demo contar"
417382

418383
```py title="contar.py" hl_lines="7 12-22"
419384
from time import sleep
@@ -440,7 +405,6 @@ con el nombre `reporte.log` y los reportes son acumulativos.
440405
],
441406
)
442407
443-
444408
try:
445409
# el numero maximo a contar se asigna como argumento
446410
n = int(sys.argv[1])
@@ -502,8 +466,6 @@ con el nombre `reporte.log` y los reportes son acumulativos.
502466
- /root/logs
503467
```
504468

505-
506-
507469
=== "Volumen con nombre"
508470

509471
``` bash title="Arbol de archivos"
@@ -529,10 +491,8 @@ con el nombre `reporte.log` y los reportes son acumulativos.
529491
registro_persistente:
530492
```
531493

532-
533494
=== "Volumen de host"
534495

535-
536496
``` bash title="Arbol de archivos"
537497
.
538498
├── compose.yml
@@ -543,8 +503,6 @@ con el nombre `reporte.log` y los reportes son acumulativos.
543503
└── reporte.log
544504
```
545505

546-
547-
548506
```yaml title="compose.yml"
549507
name: demo_volumen
550508
@@ -558,6 +516,97 @@ con el nombre `reporte.log` y los reportes son acumulativos.
558516
- label=disable
559517
```
560518

519+
## Manejo manual
520+
521+
### Listar e inspeccionar
522+
523+
La lista de volumenes existentes se consulta
524+
con el comando `volume list`:
525+
526+
```bash title="Volumenes - Listado"
527+
podman volume list
528+
```
529+
530+
Los parámetros del volumen de interés
531+
se consultan con el comando `volume inspect`:
532+
533+
534+
```bash title="Volumenes - Inspección"
535+
podman volume inspect NOMBRE_VOLUMEN
536+
```
537+
538+
La ruta al contenido del volumen
539+
se indica dentro del campo `Mountpoint`.
540+
Su valor se puede consultar así:
541+
542+
```bash title="Volumenes - Ubicación"
543+
podman volume inspect NOMBRE_VOLUMEN --format='{{.Mountpoint}}'
544+
```
545+
546+
Accediendo a esta ruta se podrá acceder a los datos
547+
para realizar copias de seguridad,
548+
restablecer los datos,
549+
realizar una migración de plataforma, etc.
550+
551+
!!! tip "Gestión gráfica"
552+
553+
Las aplicaciones de escritorio de Docker y de Podman
554+
permiten visualizar y administrar los volumenes existentes de manera gráfica.
555+
556+
### Creación
557+
558+
Los volumenes se pueden crear deliberadamente
559+
con el comando `create`:
560+
561+
```bash title="Volumenes - Creación (con nombre)"
562+
podman volume create NOMBRE_VOLUMEN
563+
```
564+
El nombre asignado servirá para poder ser accedido
565+
desde los contenedores como volumen externo:
566+
567+
```yaml title="compose.yml - volumen externo"
568+
services:
569+
570+
volumen_nombre:
571+
build: .
572+
volumes:
573+
- NOMBRE_VOLUMEN:/root/logs
574+
575+
576+
volumes:
577+
NOMBRE_VOLUMEN:
578+
external: true
579+
```
580+
581+
582+
583+
### Borrado
584+
585+
A los volumenes
586+
y a su contenido
587+
se los borra
588+
uno a uno
589+
con el comando `remove`:
590+
591+
```bash title="Volumenes - Borrado"
592+
podman volume remove NOMBRE_VOLUMEN
593+
```
594+
595+
596+
!!! danger "Borrar no usados"
597+
598+
Los volumenes no utilizados por ningún contenedor
599+
se pueden borrar en masa automátícamente
600+
con el comando `prune` ("podar"):
601+
602+
```bash title="Volumenes - Borrado (no utilizados)"
603+
podman volume prune
604+
```
561605

606+
Esta opción debe usarse con mucho cuidado,
607+
dado que puede haber volumenes
608+
con datos de producción
609+
que estén huérfanos al momento de ejecutar este comando.
562610

611+
563612

0 commit comments

Comments
 (0)