fix(lab-05): align database lab with runtime behavior

This commit is contained in:
Luca Sacchi Ricciardi
2026-04-10 14:10:22 +00:00
parent 4b6777f600
commit 92c11d524f
7 changed files with 231 additions and 205 deletions
@@ -24,10 +24,10 @@ Esegui:
docker volume ls | grep db-data
# Atteso:
# local lab05_db-data
# local lab-05-database_db-data
```
Il volume è nominativo (`local` driver), quindi i dati sopravvivono.
Il volume e nominativo (`local` driver), quindi i dati sopravvivono. Nel repository il nome reale include il prefisso del progetto compose: `lab-05-database_db-data`.
---
@@ -142,10 +142,10 @@ Esplora il volume per capire come PostgreSQL memorizza i dati.
Esegui:
```bash
# Trova il mount point del volume
docker inspect lab05-db --format '{{range .Mounts}}{{if eq .Destination "/var/lib/postgresql/data"}}{{.Source}}{{end}}{{end}}'
docker volume inspect lab-05-database_db-data --format '{{.Mountpoint}}'
# Lista file nel volume (come root)
sudo ls -la /var/lib/docker/volumes/lab05_db-data/_data/
sudo ls -la $(docker volume inspect lab-05-database_db-data --format '{{.Mountpoint}}')
```
Struttura chiave:
@@ -215,7 +215,7 @@ Tutte le verifiche devono passare.
### Dati persi dopo riavvio
```bash
# Verifica che il volume sia nominativo
docker volume inspect lab05_db-data
docker volume inspect lab-05-database_db-data
# Verifica montaggio corretto
docker inspect lab05-db --format '{{json .Mounts}}' | jq
@@ -226,17 +226,17 @@ docker inspect lab05-db --format '{{json .Mounts}}' | jq
# Lista tutti i volumi
docker volume ls
# Se il volume non esiste, ricrea
docker volume create lab05_db-data
# Se il volume non esiste, ricrealo rialzando il compose
docker compose up -d
```
### Permesso negato su volume
```bash
# Verifica proprietà volume
sudo ls -la /var/lib/docker/volumes/lab05_db-data/
sudo ls -la $(docker volume inspect lab-05-database_db-data --format '{{.Mountpoint}}')
# PostgreSQL deve poter scrivere
sudo chown -R 999:999 /var/lib/docker/volumes/lab05_db-data/
sudo chown -R 999:999 $(docker volume inspect lab-05-database_db-data --format '{{.Mountpoint}}')
```
---