‫Pentru această prelegere, trebuie să înțelegeți câteva dintre conceptele anterioare legate de crearea de rețele și, de asemenea,
‫în jurul creării containerelor.
‫Acum, când înțelegem conceptele de rețea Docker și cum funcționează toate retelele virtuale și IP,
‫să analizăm unele dintre opțiunile din linia de comandă pentru a le gestiona.
‫În primul rând, există rețeaua evidentă ls. Deoarece putem crea mai multe rețele, cu siguranță avem o comandă
‫ls pentru a le lista.
‫Avem comanda de inspectare obișnuită pe care probabil că ați folosit-o acum de la celelalte inspecții pe care
‫le facem.
‫Asta ne va arăta detaliile despre o anumită rețea.
‫Apoi avem o comandă de creare care are un driver opțional pe care îl putem specifica pentru folosirea driverelor
‫încorporate și a terților pentru a crea o nouă rețea virtuală.
‫Apoi avem comenzile de conectare și deconectare pentru a schimba un container live rulat, astfel încât să se creeze
‫un nou NIC într-o rețea virtuală pentru acel container.
‫Este un fel de lipire a unui card de rețea într-un computer în timp ce rulează.
‫Deci, aici mergem.
‫Deci, întoarce-te la linia de comandă. Luând conceptele pe care tocmai le-am învățat, pot să
‫fac o rețea de dockere. Acest lucru îmi arată toate rețelele care au fost create. În acest caz, când executați aceeași
‫comandă, probabil că veți vedea aceleași trei. În funcție de sistemul
‫dvs. de operare și de versiunea Docker, este posibil să vedeți rețeaua de pod numită
‫docker0 sau pod, dar ambele înseamnă același lucru. Care este rețeaua implicită care trece prin firewall NAT la rețeaua
‫fizică la care este conectată gazda. Până acum nu am avut de ce să ne facem
‫griji pentru că toate containerele noastre tocmai au fost atașate la acea rețea și au lucrat.
‫Acum, dacă avem un container Nginx care rulează, dacă fac o inspecție a rețelei de docere, rețeaua de punți, veți vedea că
‫acesta afișează containerele atașate la acea rețea. Veți vedea că Nginx-ul nostru, pe
‫care l-am numit webhost, este atașat acolo.
‫De fapt, puteți vedea adresa IP. Și veți vedea aici că aceste rețele atribuie automat adresele
‫IP și vă arată aici, cu configurația IPAM, că subnetul este implicit la 172. 17, care este de obicei
‫rețeaua implicită pentru orice gazdă Docker.
‫Dar poate fi schimbată și apoi poarta de acces pentru această rețea care va ajunge în final
‫la rețeaua fizică.
‫Dacă ne-am întors la rețeaua docker, putem vedea celelalte două rețele. Rețeaua gazdă este ceea ce
‫am vorbit înainte, care este o rețea specială care interzice rețeaua virtuală a Docker și
‫atașează containerul direct la interfața gazdă.
‫După cum vă puteți imagina, există argumente pro și contra pentru acest lucru deoarece
‫împiedică limitele de securitate ale containerizării să protejeze interfața containerului respectiv.
‫Dar, de asemenea, în anumite situații, puteți îmbunătăți performanța unei rețele de comunicații de mare viteză
‫și puteți găsi câteva alte probleme cu software special special.
‫Apoi, avem ultimul dintre ele, ceea ce este echivalentul unei interfețe pe computer care
‫nu este atașat la nimic, dar putem crea propriile noastre.
‫Să creăm o rețea Docker ... creați my_app_net.
‫Acum vom
‫face din nou o rețea de docare. Veți observa că a creat noua mea rețea virtuală cu un driver de pod.
‫Și asta pentru că este driverul implicit.
‫Este un driver simplu care creează pur și simplu o rețea virtuală la nivel local cu propria sa
‫subrețea undeva în jurul valorii de 172. 17 și mai sus, deoarece va crește pe măsură ce merge. Deci, 17, apoi 18, 19, 20 și așa mai departe.
‫Nu are niciunul dintre caracteristicile avansate pe care le-am putea vedea mai
‫târziu în acest curs, cum ar fi rețelele suprapuse care permit rețele private între gazde și alte drivere de terțe părți, cum ar fi Weave.
‫Dacă te uiți la comanda de creare a rețelei docker, vei vedea că nu pot specifica doar driverul pe care vreau
‫să îl folosesc, ci o mulțime de opțiuni IP și de rețea de care
‫ai putea avea nevoie într-un scenariu avansat.
‫Putem face mai multe lucruri cu aceste rețele și cum le conectăm la containerele noastre.
‫Putem folosi opțiunea --network când creăm un container.
‫Deci, containerul docker rulează numele nginx
‫nou, apoi rețeaua, apoi net app mea, și
‫apoi imaginea nginx.
‫Dacă am făcut o inspecție a rețelei de docere în rețeaua mea de aplicații, ați vedea că noul Nginx pe care tocmai l-am creat este
‫acum în acea rețea. Are o nouă adresă IP de 172. 18.
‫Deci este următoarea subrețea din listă.
‫Dar, de fapt, nu trebuie să pornim recipiente noi, deoarece, la fel ca în
‫lumea reală, unde puteți să deconectați și să replțiți dispozitivele Ethernet și să vă reconectați la rețelele wireless, puteți face același
‫lucru și cu rețelele existente și cu containerele existente.
‫Pentru aceasta, folosim opțiunile de conectare și deconectare a rețelei de docere și puteți utiliza --help pentru a
‫vedea toate opțiunile de acolo pentru rețeaua Docker.
‫În acest caz, ceea ce dorim să facem este rețeaua docker și dorim să luăm primul container pe care
‫l-am creat și să îl conectăm la noua noastră rețea.
‫Am de gând să aleg noua mea rețea de aplicații, iar apoi voi alege site-ul Web original pe care l-am creat.
‫Acum, dacă fac un container de docker inspecta-mi de webhost-ul meu original, veți vedea că este de fapt acum
‫pe două rețele. Rețeaua de bridge originală și,
‫în principiu, am făcut echivalentul acordării unei noi interfețe Ethernet pe o altă rețea, cu
‫o altă IP primită de la DHCP.
‫Deci, acum suntem pe rețeaua 17 din rețeaua 18.
‫Dacă aș vrea să o deconectez, aș putea să fac același lucru doar deconectați. Apoi, dacă m-am întors și am făcut o inspecție
‫din nou, veți vedea că acum este înapoi doar cu singura rețea.
‫După cum puteți vedea, există o mulțime de opțiuni interesante pentru crearea de rețele Docker și cu adevărat scopul final aici și un lucru
‫pe care îmi place să mă laud cu containerele este că dacă rulați toate aplicațiile pe un singur server,
‫în acest caz , puteți să-i protejați cu adevărat. Pentru că în lumea fizică în
‫care creăm mașini virtuale și gazde într-o rețea, de multe ori am supraexpuse porturile și rețelele de pe
‫serverele noastre de aplicații.
‫În aceste cazuri, dacă ați lua containerele de aplicație și le aveți pe toate într-o
‫singură rețea împreună într-o rețea virtuală, veți fi doar expunerea porturilor din gazda dvs. pe care le
‫utilizați în mod specific cu -p cu. Și orice altceva este puțin mai sigur cu acel firewall protejat
‫în interiorul rețelei virtuale.
‫Mai târziu, când intrăm în Docker Swarm, vom învăța de fapt despre o
‫rețea multi-gazdă și despre cum acest lucru devine și mai bun atunci când începem să creștem și să extindem.
‫Pentru a recupera, am acoperit o grămadă de comenzi pentru gestionarea rețelelor Docker.
‫Am jucat în jur cu comenzile ls și inspect, am creat o rețea Docker și am folosit driverul implicit
‫de pod.
‫De fapt, nu am avut nevoie să folosim un --driver.
‫În cele din urmă, am încercat conectarea la rețea și comenzile de deconectare a rețelei pentru adăugarea și apoi eliminarea
‫unui NIC dintr-un container care rulează.