Introducere în Docker Networking: flux de lucru, noțiuni de bază pentru rețea, comenzi pentru rețea

Publicat: 2020-04-30

Cuprins

Introducere

În această epocă a virtualizării, administratorii de rețea nu mai lucrează doar la componentele tradiționale de rețea, cum ar fi routerele, componentele LAN/WAN și comutatoarele. Ei trebuie să lucreze pe componente de rețea pe platforme de virtualizare. Întreaga industrie IT este interesată de conceptul de containerizare, unde abilități puternice de networking sunt esențiale.

Deoarece Docker este unul dintre cele mai utilizate software-uri de containerizare, abilitățile de rețea Docker sunt importante pentru configurarea unui container. În prezent, peste 12.000 de companii folosesc containere Docker pentru a-și expedia aplicațiile . Aceste companii includ JPMorgan Chase, ThoughtWorks și Neudesic.

În acest articol, vom afla despre introducerea în Docker, elementele de bază ale rețelei Docker .

Să înțelegem mai întâi elementele fundamentale ale Docker.

Ce este Docker?

Docker este o platformă de ambalare software care a introdus conceptul de containerizare. Containerizarea este procesul prin care o aplicație software este împachetată cu toate dependențele necesare, cum ar fi bibliotecile, modulele și sistemul de operare. Acest lucru face ca software-ul să fie ușor de executat în orice mediu.

Aceste pachete software se numesc containere Docker . Aceste containere sunt utilizate pentru implementarea aplicației pentru un anumit mediu. Poate fi un container Ubuntu, CentOS, Tomcat-Ubuntu sau CakePHP.

Să presupunem că o aplicație Java este creată pentru a fi executată într-un mediu care are instalat un server Tomcat. După dezvoltare, aplicația este trimisă pentru testare. Testerii trebuie să configureze din nou serverul Tomcat pentru a rula aplicația. Apoi, va fi trimis în mediul de producție, care va necesita din nou configurarea aceluiași mediu.

Însă, un container Docker având deja mediul în el va rezolva problema de a începe de la zero. Astfel, dezvoltatorii, testerii și membrii unității de producție pot executa aplicația fără a configura serverul Tomcat din nou și din nou.

Citiți: Idei și subiecte pentru proiecte Docker

Flux de lucru Docker

Aplicația sau codul proiectului este scris într-un fișier Docker . Acest fișier conține cerințele și dependențele aplicației. Acest fișier produce o imagine Docker care este folosită mai târziu pentru a executa codul din fișier.

O imagine conține codul, variabilele de mediu, fișierele de configurare, timpul de rulare și bibliotecile necesare pentru a rula aplicația. Imaginile sunt apoi încărcate în Docker Hub , care este un depozit GIT format din imagini Docker. Din aceste depozite, puteți prelua și încărca propriile imagini Docker.

Membrii echipei de Asigurare a Calității sau ai echipei de producție a unei companii preiau imaginile pentru dezvoltarea containerelor lor. Deoarece toate aceste containere pot fi izolate unele de altele, rețeaua Docker este setul de reguli prin care interacționează între ele.

Acum că aveți o înțelegere de bază despre Docker , permiteți-ne să aruncăm o privire mai atentă asupra rețelelor Docker .

Citește și: Salariul Docker în India

Bazele rețelelor Docker

Când Docker este instalat inițial, sunt configurate trei rețele Docker diferite - niciuna, gazdă și bridge. None și host sunt componente importante ale stivei Docker și nu pot fi eliminate. Rețeaua bridge poate fi configurată, cunoscută sub numele de rețea docker0.

Docker poate fi folosit pentru a crea multe rețele. Puteți adăuga containere în mai multe rețele. Un container care este atașat la mai multe rețele se poate conecta cu containerele acestor rețele.

Principalele drivere de rețea utilizate în Docker sunt următoarele:

Pod

Aceasta este rețeaua privată implicită creată pe gazdă de Docker. O subrețea IP și un gateway sunt create automat de această rețea. Containerele care aparțin acestei rețele fac parte din aceeași subrețea. Deci, containerele din această rețea comunică prin adresare IP.

Driverele de rețea bridge sunt foarte utile atunci când aplicația este executată într-un container independent. Instalările Docker reprezintă implicit docker0. Docker va returna obiectul JSON care va descrie rețeaua punte dacă tastați următoarea comandă în consolă:

docker network inspect bridge

Gazdă

Driverul gazdă este utilizat pentru containere autonome . Dacă modul de rețea gazdă este utilizat pentru un container, izolarea dintre gazda Docker și stiva de rețea este eliminată. Containerul nu primește o adresă IP alocată.

De exemplu, se execută un container care se leagă la portul 80 și se utilizează rețeaua gazdă. În acest caz, aplicația containerului va fi disponibilă pe portul 80 pe adresa IP a gazdei. Acest mod de rețea este util atunci când un container gestionează un număr mare de porturi.

În plus, driverul gazdă vă permite să rulați mai multe containere web pe aceeași gazdă.

Nici unul

În acest tip de rețea, containerele nu au acces la rețele externe și nu sunt atașate la alte containere sau rețele. Niciunul nu este utilizat atunci când doriți să dezactivați stiva de rețea pe un anumit container.

Niciunul nu are doar o interfață loopback, ceea ce înseamnă că nu există interfețe de rețea externe.

Acoperire

Acesta este folosit pentru a crea o rețea privată internă care se întinde pe toate nodurile din clusterul roi. O rețea docker roi este un grup de mașini virtuale sau fizice care execută aplicația Docker. Acest driver de rețea este important în rețeaua Docker , deoarece permite comunicarea între containerul autonom și serviciul roi.

Containerele independente de pe diferiți demoni Docker pot interacționa și cu acest driver. Deci, nu trebuie să efectuați o rutare la nivel de sistem de operare pentru containere.

Macvlan

Această rețea vă permite să atribuiți o adresă MAC unui container. Acest lucru îl face să apară ca un dispozitiv fizic. Folosind această adresă, demonul Docker direcționează traficul către un anumit router. Un demon Docker este un server care rulează pe sistemul de operare gazdă și interacționează cu acesta pentru a efectua diferite activități. O rețea Macvlan simplifică comunicarea între containere.

Macvlan este o opțiune bună atunci când se manipulează aplicații vechi care se așteaptă să fie conectate la rețeaua fizică. Dacă stabiliți o rețea Macvlan, aceasta poate fi în două moduri – modul Bridge sau modul trunk bridge 802.1q.

Plug-in-uri de rețea

Puteți utiliza un plug-in de rețea terță parte cu Docker. Aceste plug-in-uri sunt disponibile la Docker Hub și pot fi obținute prin furnizori terți.

Comenzi de rețea Docker

Cele mai comune comenzi de rețea docker sunt următoarele:

Listați rețelele Docker

Acest cod va lista toate rețelele Docker de pe gazdă -

docker network ls

Crearea unei rețele Docker

Următoarea comandă vă va ajuta să creați o rețea înainte de a lansa un container:

docker network create –-driver drivername name

Aici, drivername este numele dat driverului de rețea, iar Listează comenzile de rețea

Această comandă este utilizată pentru listarea comenzilor de rețea disponibile:

ajutor pentru rețea docker

Eliminarea unei rețele

Comanda rm poate fi folosită pentru a elimina o rețea.

docker network rm mynetwork

Conectarea la o rețea Docker

Când creați o rețea Docker, în mod implicit, aceasta este conectată la rețeaua bridge. Următoarea comandă poate fi utilizată pentru conectarea la o altă rețea atunci când rulați containerul:

rulați containerul docker -it –net=mynetwork nginx

Obținerea porturilor pentru containere

Puteți obține portul containerului folosind comanda port:

port docker nume_cotainer/id

Concluzie

Docker este un aspect crucial al dezvoltării software în zilele noastre. Pe măsură ce tot mai multe companii se îndreaptă către containerizare, crearea de rețele este importantă pentru izolarea containerelor. Acest lucru permite dezvoltarea de aplicații web care funcționează împreună în siguranță. Aceste rețele ajută la o mai bună comunicare între containere.

Docker a ajutat multe companii să-și îmbunătățească timpul de implementare și să reducă costurile asociate cu acesta. Deci, dacă sunteți începător, acest articol vă va fi util pentru a vă înțelege elementele de bază ale rețelei docker .

Dacă sunteți interesat să aflați mai multe despre dezvoltarea full-stack , consultați diploma PG în dezvoltare software full-stack de la upGrad și IIIT-B, care este concepută pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și sarcini, IIIT -B Statut de absolvenți, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Pregătiți-vă pentru o carieră a viitorului

ÎNVĂȚARE DE ÎNCREDERE ÎN INDUSTRIE - CERTIFICARE RECUNOSCĂ ÎN INDUSTRIE.
Aplica acum