Nozioni di base sul networking dei container
Comprenda il networking predefinito di Docker, le reti bridge e come i container si individuano tra loro.
Nozioni di base sul networking dei container è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Perché usare il networking dei container?
I container sono isolati per progettazione, una caratteristica ottima per la sicurezza e la portabilità. Tuttavia, per essere utili, spesso devono comunicare tra loro e con il mondo esterno.
È qui che entra in gioco il networking di Docker! Consente ai container di comunicare in modo sicuro ed efficiente.

La rete bridge predefinita di Docker
Quando esegue un container senza specificare una rete, Docker lo connette automaticamente alla rete bridge predefinita. Questa rete si chiama bridge.
I container su questa rete possono comunicare tra loro usando i rispettivi indirizzi IP e possono anche accedere a Internet.
Esaminare le reti Docker
Può visualizzare facilmente tutte le reti Docker disponibili nel sistema. Il comando docker network ls le elenca, mentre docker network inspect fornisce la configurazione dettagliata di una rete specifica.
Provi a elencare le reti:
docker network lsIndirizzi IP dei container
A ogni container connesso a una rete bridge (predefinita o definita dall'utente) viene assegnato da Docker un indirizzo IP univoco tramite il server DNS interno.
Questo indirizzo IP permette agli altri container sulla stessa rete di raggiungerlo. Vediamo l'IP di un container:
docker run --rm -it alpine ip aComunicazione sulla rete bridge predefinita
Sulla rete bridge predefinita, i container possono comunicare tra loro usando gli indirizzi IP assegnati. Tuttavia, gli indirizzi IP possono cambiare, rendendo questo metodo meno affidabile per le applicazioni dinamiche.
Per una migliore individuazione dei container e una comunicazione tramite nome, le reti bridge definite dall'utente rappresentano l'approccio moderno e preferito.
Reti bridge definite dall'utente
Le reti bridge definite dall'utente offrono vantaggi significativi rispetto alla bridge predefinita:
- Risoluzione DNS automatica: i container sulla stessa rete definita dall'utente possono trovarsi usando il nome del servizio (il nome del container).
- Isolamento migliore: offrono un isolamento più efficace per le applicazioni.
- Configurabilità: consentono un maggiore controllo sulle impostazioni di rete.
Dimostrazione: comunicare tramite nome
Creiamo una rete personalizzata, eseguiamo un server web Nginx su di essa e poi usiamo un altro container per accedere al server Nginx tramite il suo nome. Vedrà quanto è semplice!
docker network create my-app-net
docker run -d --name webserver --network my-app-net nginx
docker run --rm --network my-app-net alpine sh -c "apk add curl && curl -s http://webserver"
docker rm -f webserver
docker network rm my-app-netEsporre le porte all'host
Per accedere al servizio di un container dal computer host o da una rete esterna, deve "pubblicare" o "mappare" la relativa porta usando il flag -p o --publish.
Ad esempio, -p 8080:80 associa la porta 8080 dell'host alla porta 80 del container.
docker run -d --name my-webserver -p 8080:80 nginx
# To check, open http://localhost:8080 in your browser
# Then, clean up the container:
docker rm -f my-webserverAltri driver di rete
Oltre alle reti bridge, Docker offre altri driver di rete per casi d'uso specifici:
- Host: il container condivide lo stack di rete dell'host, perdendo l'isolamento.
- None: il container non dispone di interfacce di rete.
- Overlay: viene usato da Docker Swarm per consentire la comunicazione tra più daemon Docker su host diversi.
Ogni driver ha uno scopo specifico in diversi scenari di deployment.
Sfida sul networking
Quali affermazioni sulla rete bridge predefinita di Docker e sulle reti bridge definite dall'utente sono vere?
Riepilogo: nozioni di base sul networking
Abbiamo trattato gli aspetti essenziali del networking di Docker:
- La rete
bridgepredefinita consente ai container di comunicare tramite IP. - Le reti bridge definite dall'utente sono preferibili per la risoluzione DNS automatica tramite nome e per un isolamento migliore.
- Abbiamo imparato a far comunicare i container tra loro e a esporre le porte dei container all'host.
- Abbiamo accennato brevemente ad altri driver di rete, come
hosteoverlay.
Comprendere il networking è fondamentale per creare applicazioni containerizzate interconnesse. Ora approfondiremo la gestione dei dati persistenti con i Docker Volumes!
Domande Frequenti
La lezione «Nozioni di base sul networking dei container» è gratuita?
Sì — il testo completo di «Nozioni di base sul networking dei container» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Nozioni di base sul networking dei container»?
Comprenda il networking predefinito di Docker, le reti bridge e come i container si individuano tra loro. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Nozioni di base sul networking dei container»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Nozioni di base sul networking dei container
- Volumi Docker per la persistenza
- Bind mount e mount tmpfs
- Reti bridge personalizzate e service discovery