Reti con nome
Creazione Contenitori di Rete
Docker gestisce reti interne. Listarle:
docker network ls
Vi sono tre reti (driver) di base:
- bridge – sottorete di default per tutti i container
- host – rete dello host
- none - solo interfaccia di loopback
Quando si usano ambienti più complessi del Docker Base, per esempio Docker Swarm, vengono installati anche alri tipi di driver di rete, p.es. overlay.
Ispezionare i dettagli di rete (formato JSON):
docker network inspect bridge
Creare una nuova rete bridge:
docker network create net1
Lanciare due containers sulla nuova rete:
docker run -ti --net=net1 --name one alpine
docker run -ti --net=net1 --name two alpine
Si può uscire da un contenitore senza terminarlo con i tasti Ctl-P Ctrl-Q
.
Per ritorbare dentro il contenitore, per esempio:
docker attach one
Da one
:
ping two
Docker risolve internamente i nomi dei container nel loro indirizzo IP.
Opzioni di Creazione Rete
Sintassi:
docker network create [opzioni] rete
Opzioni principali:
--subnet CIDR
- indirizzo di rete assegnato--internal
- solo accesso da locale, non internet--driver nomedriver
- default: bridge--gateway gw
- indirizzo del gateway--attachable
- si possono connettere containers alla rete--ipv6
- abilita IPv6 sulla rete
Esempio:
docker network create --subnet 172.50.0.0/16 net2
Rimozione di Rete
Sintassi:
docker network rm rete
Esempio:
docker network rm net2
Si può rimuovere solo una rete per volta.
La rete che viene rimossa non deve avere contenitori che la usano. Prima rimuovere i contenitori.