Introduzione alla rete Docker: flusso di lavoro, nozioni di base sulla rete, comandi di rete
Pubblicato: 2020-04-30Sommario
introduzione
In questa era di virtualizzazione, gli amministratori di rete non lavorano più solo su componenti di rete tradizionali come router, componenti LAN/WAN e switch. Devono lavorare su componenti di rete su piattaforme di virtualizzazione. L'intero settore IT è interessato al concetto di containerizzazione, dove sono essenziali forti capacità di networking.
Poiché Docker è uno dei software di containerizzazione più utilizzati, le competenze di rete Docker sono importanti per la configurazione di un container. Attualmente, più di 12.000 aziende utilizzano i container Docker per la spedizione delle loro applicazioni . Queste aziende includono JPMorgan Chase, ThoughtWorks e Neudesic.
In questo articolo, impareremo l'introduzione a Docker, le basi della rete Docker .
Cerchiamo prima di tutto di capire i fondamenti di Docker.
Cos'è Docker?
Docker è una piattaforma di packaging software che ha introdotto il concetto di containerizzazione. La containerizzazione è il processo mediante il quale un'applicazione software viene riempita con tutte le sue dipendenze richieste come librerie, moduli e sistema operativo. Questo rende il software facilmente eseguibile in qualsiasi ambiente.
Questi pacchetti software sono chiamati contenitori Docker . Questi contenitori vengono utilizzati per la distribuzione dell'applicazione per un ambiente specifico. Può essere un contenitore Ubuntu, un contenitore CentOS, un contenitore Tomcat-Ubuntu o CakePHP.

Diciamo che un'applicazione Java viene creata per essere eseguita in un ambiente in cui è installato un server Tomcat. Dopo lo sviluppo, l'applicazione viene inviata per il test. I tester devono configurare nuovamente il server Tomcat per eseguire l'applicazione. Quindi, verrà inviato all'ambiente di produzione, che richiederà nuovamente la configurazione dello stesso ambiente.
Ma un container Docker che contiene già l'ambiente risolverà il problema di ricominciare da zero. Pertanto, gli sviluppatori, i tester e i membri dell'unità di produzione possono eseguire l'applicazione senza configurare ripetutamente il server Tomcat.
Leggi: Idee e argomenti del progetto Docker
Flusso di lavoro Docker
L'applicazione o il codice del progetto viene scritto in un file Docker . Questo file contiene i requisiti e le dipendenze dell'applicazione. Questo file produce un'immagine Docker che viene utilizzata in seguito per eseguire il codice nel file.
Un'immagine contiene il codice, le variabili di ambiente, i file di configurazione, il runtime e le librerie necessarie per eseguire l'applicazione. Le immagini vengono quindi caricate su Docker Hub , che è un repository GIT composto da immagini Docker. Da questi repository puoi recuperare e caricare le tue immagini Docker.
I membri del team di garanzia della qualità o del team di produzione di un'azienda recuperano le immagini per lo sviluppo dei loro contenitori. Poiché tutti questi contenitori possono essere isolati l'uno dall'altro, la rete Docker è l'insieme di regole in base alle quali interagiscono tra loro.
Ora che hai una conoscenza di base di Docker , diamo un'occhiata più da vicino alla rete Docker .
Leggi anche: Salario Docker in India
Nozioni di base sulla rete Docker
Quando Docker viene installato inizialmente, vengono configurate tre diverse reti Docker: nessuna, host e bridge. Il none e l'host sono componenti importanti dello stack Docker e non possono essere rimossi. È possibile configurare la rete bridge, nota come rete docker0.
Docker può essere utilizzato per creare molte reti. Puoi aggiungere container a più di una rete. Un container collegato a più reti può connettersi ai container di queste reti.
I principali driver di rete utilizzati in Docker sono i seguenti:
Ponte
Questa è la rete privata predefinita creata sull'host da Docker. Una sottorete IP e un gateway vengono creati automaticamente da questa rete. I container appartenenti a questa rete fanno parte della stessa sottorete. Pertanto, i contenitori in questa rete comunicano tramite l'indirizzamento IP.
I driver di rete bridge sono molto utili quando l'applicazione viene eseguita in un contenitore autonomo. Le installazioni Docker rappresentano docker0 per impostazione predefinita. Docker restituirà l'oggetto JSON che descriverà la rete bridge se digiti il seguente comando nella console:

la rete Docker ispeziona il bridge
Ospite
Il driver Host viene utilizzato per i contenitori autonomi . Se viene utilizzata la modalità di rete host per un container, l'isolamento tra l'host Docker e lo stack di rete viene rimosso. Il contenitore non ottiene un indirizzo IP allocato.
Ad esempio, viene eseguito un contenitore che si collega alla porta 80 e viene utilizzata la rete host. In questo caso, l'applicazione del contenitore sarà disponibile sulla porta 80 dell'indirizzo IP dell'host. Questa modalità di rete è utile quando un container gestisce un numero elevato di porte.
Inoltre, il driver host consente di eseguire più contenitori Web sullo stesso host singolo.
Nessuno
In questo tipo di rete, i container non hanno accesso a reti esterne e non sono collegati ad altri container o reti. None viene utilizzato quando si desidera disabilitare lo stack di rete su un determinato contenitore.
Nessuno ha solo un'interfaccia di loopback, il che significa che non ci sono interfacce di rete esterne.
Sovrapposizione
Viene utilizzato per creare una rete privata interna che si estende su tutti i nodi nel cluster swarm. Una rete swarm di Docker è un gruppo di macchine virtuali o fisiche che eseguono l'applicazione Docker. Questo driver di rete è importante nella rete Docker in quanto consente la comunicazione tra il contenitore autonomo e il servizio swarm.
Anche i container standalone su diversi daemon Docker possono interagire con questo driver. Pertanto, non è necessario eseguire un routing a livello di sistema operativo per i contenitori.
Macvlan
Questa rete consente di assegnare un indirizzo MAC a un container. Questo lo fa apparire come un dispositivo fisico. Usando questo indirizzo, il demone Docker instrada il traffico verso un particolare router. Un demone Docker è un server che viene eseguito sul sistema operativo host e interagisce con esso per eseguire diverse attività. Una rete Macvlan semplifica la comunicazione tra i container.
Macvlan è una buona opzione quando si gestiscono applicazioni legacy che dovrebbero essere connesse alla rete fisica. Se stabilisci una rete Macvlan, può essere in due modalità: modalità bridge o modalità bridge trunk 802.1q.
Plug-in di rete
È possibile utilizzare un plug-in di rete di terze parti con Docker. Questi plug-in sono disponibili su Docker Hub e possono essere ottenuti tramite fornitori di terze parti.
Comandi di rete Docker
I comandi di rete Docker più comuni sono i seguenti:
Elenca le reti Docker
Questo codice elencherà tutte le reti Docker sull'host –
rete Docker ls
Creazione di una rete Docker
Il comando seguente ti aiuterà a creare una rete prima di avviare un container:
docker network create –-driver nomedriver nome
Qui, drivername è il nome assegnato al driver di rete e Elenca i comandi di rete
Questo comando viene utilizzato per elencare i comandi di rete disponibili:
guida alla rete Docker
Rimozione di una rete
Il comando rm può essere utilizzato per rimuovere una rete.
rete mobile rm miarete
Connessione a una rete Docker
Quando crei una rete Docker, per impostazione predefinita è connessa alla rete bridge. Il comando seguente può essere utilizzato per la connessione a un'altra rete quando si esegue il contenitore:
contenitore docker esegui -it –net=mynetwork nginx
Ottenere i porti dei container

Puoi ottenere la porta del container usando il comando port:
porta docker nome_cotainer/id
Conclusione
Docker è un aspetto cruciale dello sviluppo del software in questi giorni. Poiché sempre più aziende si stanno orientando verso la containerizzazione, il networking è importante per isolare i container. Ciò consente lo sviluppo di applicazioni Web che funzionano insieme in modo sicuro. Queste reti aiutano a una migliore comunicazione tra i container.
Docker ha aiutato molte aziende a migliorare i tempi di implementazione e a ridurre i costi associati. Quindi, se sei un principiante, questo articolo sarà utile per avvolgere la tua mente intorno alle basi della rete Docker .
Se sei interessato a saperne di più sullo sviluppo dello stack completo, dai un'occhiata al Diploma PG di upGrad e IIIT-B in Sviluppo software full stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, IIIT -B Status di ex alumni, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.