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.

Namednet

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.