F FabGPT-FAQ

Docker: reti e volumi

Bridge, macvlan, DNS tra container, volumi, backup e permessi. Ogni comando è verificato e copiabile; in chat basta descrivere cosa vuoi fare.

13 comandi in questa pagina

# Come vedo le reti Docker e chi ci è collegato?

docker network ls
docker network inspect <rete>

inspect elenca i container collegati con i loro IP interni.

Approfondisci: Come funziona l'instradamento del traffico di specifici container Docker attraverso un container VPN dedicato (es. Gluetun)?

# Come creo una rete bridge dedicata?

docker network create mia-rete

Sulle bridge personalizzate i container si risolvono per nome (DNS interno); sulla bridge di default no.

Approfondisci: Come funziona l'instradamento del traffico di specifici container Docker attraverso un container VPN dedicato (es. Gluetun)?

# Come do a un container un IP della LAN (macvlan)?

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 lan

Limite noto: l'host non parla coi container macvlan senza un'interfaccia macvlan dedicata lato host.

Approfondisci: Come funziona l'instradamento del traffico di specifici container Docker attraverso un container VPN dedicato (es. Gluetun)?

# Come collego o scollego un container da una rete?

docker network connect mia-rete <nome>
docker network disconnect mia-rete <nome>

Un container può stare su più reti insieme: utile per esporre un servizio a due stack separati.

Approfondisci: Come funziona l'instradamento del traffico di specifici container Docker attraverso un container VPN dedicato (es. Gluetun)?

# I container non si risolvono per nome: perché?

docker network inspect bridge

Sulla bridge di default il DNS tra container non esiste: crea una bridge custom e collegali lì (Compose lo fa da solo).

Approfondisci: Cos'è Docker Compose?

# "Port is already allocated": come lo risolvo?

ss -tlnp | grep :<porta>

Qualcosa occupa già la porta sull'host (spesso un altro container): cambia il mapping (8081:80) o ferma l'occupante.

Approfondisci: Cos'è Docker Compose?

# Come testo la connettività tra due container?

docker exec <a> ping -c2 <b>
docker exec <a> nc -zv <b> <porta>

Devono stare sulla stessa rete; se il ping va e nc no, il servizio dentro il container non ascolta su 0.0.0.0.

Approfondisci: Come funziona l'instradamento del traffico di specifici container Docker attraverso un container VPN dedicato (es. Gluetun)?

# Come creo e listo i volumi?

docker volume ls
docker volume create dati-app

I volumi anonimi (hash lunghi) nascono dai container senza volume esplicito: nominali sempre.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Dove stanno fisicamente i dati di un volume?

docker volume inspect --format '{{.Mountpoint}}' dati-app

Di norma /var/lib/docker/volumes/<nome>/_data – ma passa dai comandi docker, non modificarli a mano.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Come faccio il backup di un volume?

docker run --rm -v dati-app:/data -v $(pwd):/backup alpine tar czf /backup/dati-app.tgz -C /data .

A servizio fermo per i database – o meglio, usa il dump nativo del db.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Come ripristino un volume da un backup tar?

docker run --rm -v dati-app:/data -v $(pwd):/backup alpine tar xzf /backup/dati-app.tgz -C /data

Il volume deve esistere già (docker volume create); il tar viene estratto sopra il contenuto attuale.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?

# Permission denied su un volume: come sistemo UID e GID?

docker exec <nome> id
sudo chown -R 1000:1000 <path-del-bind-o-mountpoint>

Il container scrive col SUO uid: allinea il proprietario sul filesystem, o imposta user: nel Compose.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?Container privilegiati o non privilegiati: quale usare?

# Come elimino i volumi orfani?

docker volume prune

Cancella DATI per sempre: prima docker volume ls, e un backup di ciò che non riconosci.

Approfondisci: Qual è la differenza strutturale tra named volumes Docker persistenti e bind mounts per l'accesso ai file residenti sul filesystem host?Storage pieno su Proxmox: come liberare spazio senza disastri

Chiedi in chat