Contenitori di Reti
Un Contenitore di Rete è un oggetto Docker che implementa un Software Defined Network (SDN).
Ciò è ottenuto modificando automaticamente le tabelle di routing e NAT (Network Address Translation) nell'ambiente iptables
di Linux.
Forwarding
Perchè le reti Docker funzionino è necessario che il forwarding (parametro kernel) di Linux sia abilitato.
Di solito lo è di default.
Proviamo a disabilitarlo:
sudo sysctl -w net.ipv4.ip_forward=0
Ora lanciamo un container:
docker run --ti --rm --name web1 -d alpine sh
Otteniamo l'avvertimento:
WARNING: IPv4 forwarding is disabled. Networking will not work.
Il container parte lo stesso, e ci troviamo nella sua shell. Ma non potremo eseguire comandi di rete.
Usciamo con exit
. Il container è rimosso automaticamente poichè l'avevamo lanciato con l'opzione --rm
.
Riabilitiamo il forwarding:
sudo sysctl -w net.ipv4.ip_forward=1