‫În această prelegere, vom vorbi despre legarea montajului și a datelor persistente în acele valuri. Cerințele sunt într-adevăr că știți doar despre
‫gestionarea containerelor și despre modul de rulare a containerelor.
‫Hai să intrăm. Să vorbim despre legăturile de legare. Sunt de fapt foarte cool.
‫Când am învățat prima dată despre ele, mi-a dat un fel de modul în care aș putea să folosesc Docker cu ușurință pentru
‫dezvoltarea locală.
‫Într-adevăr, o mount mount este doar o mapare a fișierelor gazdă, sau a directoarelor, într-un fișier container sau
‫un director. Poți să faci asta.
‫Puteți specifica un director sau un singur fișier. În fundal, este în
‫principiu doar faptul că cele două locații indică aceleași locații fizice pe disc.
‫Din nou, aceasta ignoră de fapt UFS ca și celelalte volume, astfel încât nu va
‫șterge locația gazdei atunci când ștergeți containerul.
‫Dacă în container există fișiere pe care le mutați fișierele gazdă, fișierele gazdă câștigă. În realitate, nu șterge fișierele din
‫containerul pe care le-a înlocuit, deoarece nu prea suprascrie nimic în
‫container.
‫Este doar acolo în timp ce mount mount există.
‫În clipa în care nu mai aveți nevoie de mount mount și re-rulați containerul fără el, veți
‫vedea de fapt datele de bază care au fost acolo înainte. Deoarece mount-urile de legare sunt de obicei specifice gazdei, au
‫nevoie de date specifice pentru a fi pe hard disk-ul gazdei pentru a funcționa.
‫Nu le puteți specifica într-un fișier Docker.
‫Trebuie să le utilizați în timpul rulării atunci când utilizați comanda de rulare a containerului docker. Puteți vedea formatul aici.
‫Este într-adevăr -v pe care am folosit-o înainte, numai pe partea stângă a
‫colonului, de fapt, punem o cale mai degrabă decât un nume.
‫Și modul în care Docker-ul poate de fapt să spună diferența dintre volumul numit, așa cum
‫am făcut-o cu ceva timp în urmă, și mount mount, este mount mount-ul începe cu o slash înainte.
‫Pe Windows, veți observa că este vorba de două șuvițe înainte, apoi de litera de unitate și apoi de
‫calea ta.
‫Atâta timp cât aveți colonul stâng și cele drepte, puteți chiar să cartografiați tot ce doriți de
‫la gazdă în container și puteți specifica și lucruri precum citirea numai.
‫În cazul în care acest lucru vine într-adevăr să strălucească este cu dezvoltarea și funcționarea serviciilor în
‫interiorul containerului dvs., care accesează fișierele pe care le utilizați pe gazdă sau schimbarea.
‫Să facem asta cu Nginx.
‫Dacă mergeți la rădăcina depozitului nostru pentru acest curs și apoi mergem în directorul de eșantion
‫Dockerfile 2. Acum eram aici mai devreme.
‫Dacă vă aduceți aminte, aveți două fișiere. Asta e pentru Nginx, nu?
‫Dacă ne uităm rapid la Dockerfile, este destul de simplu. Este doar specificarea unui director de lucru și apoi copierea
‫unui fișier index în directorul respectiv.
‫Nu sunt volume aici.
‫O mount mount nu necesită un volum de lucru, deși s-ar putea să fie acolo.
‫Gazda câștigă mereu, îți amintești? Deci, atunci când facem un container de docker alergat, atunci
‫vom face o ... să-i numim nginx.
‫Să-i dăm portul 8080 ca înainte.
‫Apoi o să-i dăm volumul de data asta. Și trebuie să-i spun că actualul meu director de lucru va fi
‫de fapt montat în acel director de lucru din container. Deoarece fișierul index este aici în acest dosar,
‫vreau să
‫fie în container, așa că îl pot edita aici și se vede live în container.
‫Deci, va avea sens într-o secundă.
‫Iată un sfat scurt. În loc să fiu nevoit
‫să-mi dau seama tot drumul și să scriu totul înăuntru, poți folosi pwd aici.
‫Ce este o scurtătură pentru shell care spune: "Printați directorul de lucru și înlocuiți această comandă cu acea cale.
‫"Apoi, vom folosi același director de lucru din dosarul Docker și vom
‫specifica imaginea Nginx.
‫Ceea ce am de gând să fac, într-adevăr rapid, este că voi deschide o altă fereastră de terminal pentru a
‫putea face două lucruri deodată.
‫Nu trebuie să faci asta.
‫În principiu, vom edita fișierul pe gazda noastră, iar apoi voi fi în container și voi vedea ce
‫se întâmplă.
‫Deci, doar pentru a vă asigura că
‫funcționează, hai să mergem la localhost.
‫OK, deci nu este fișierul HTML Nginx implicit.
‫Și am folosit imaginea obișnuită Nginx.
‫De fapt, nu am folosit acel personalizat din acest director.
‫Tocmai am folosit o imagine de stoc. Pentru a dovedi acest lucru, putem face din
‫nou acea comandă exactă exactă, dar scoatem -v și o să o execut la portul 8080. Și o voi numi pe asta nginx2.
‫Dacă mă duc la browserul meu și merg la localhost 8080, acesta este indexul implicit nginx. fișier html.
‫Aceasta este cea personalizată pe care o trăim în acest director.
‫Deci, deja vedem că a scris corect.
‫Dacă deschid o altă filă aici și am o linie de comandă în container.
‫Apoi mergeți la acel director.
‫Veți observa că putem vedea efectiv fișierul Docker deoarece am cartografiat întregul director.
‫În cazul în care peste pe stânga, dacă am făcut de fapt, un fișier nou și pot folosi doar comanda touch touch Linux aici pentru
‫a crea un fișier nou. Apoi, în dreapta ... Hopa ... doar uita că ... - Și tu o să vezi
‫asta în dosarul tău.
‫Sperăm că înțelegeți ce se întâmplă aici, că ambele locații sunt aceeași locație.
‫Și dacă am reluat ceva în dosarul de testare și
‫apoi ...
‫acolo te duci.
‫Nginx-ul nostru poate vedea modificările, deoarece este doar o cale normală de fișier în container
‫și acele fișiere sunt pe gazdă.
‫Dacă ar fi trebuit să le șterg în container, acestea ar fi șterse pe gazdă, deoarece este
‫același fișier.
‫Acesta este momentul în care, de obicei, primesc un dezvoltator pentru a-mi lua gândurile despre toate mediile de dezvoltare
‫pe care le au, care sunt configurația complicată. Poate că folosesc Vagrant sau altă metodă manuală
‫de a-și stabili mediul perfect și pot începe să vadă cum ar putea face acest lucru mult mai simplu.
‫Pentru că nu trebuia să fac nici o configurație complicată pe computerul meu Mac, tocmai am rulat un container.
‫Am folosit comanda -v cu mount, iar acum codul meu, pe gazda mea, pot fi editate pe gazda mea.
‫Și niciodată nu trebuie să intru în cochila containerului.
‫De obicei, puteți să rulați containerul și să consultați jurnalele acestuia pentru a vedea dacă există erori în
‫timpul codării.
‫Desigur, acesta este un exemplu simplu cu Nginx. Mai târziu, vom avea de fapt
‫exemple specifice de medii de dezvoltare diferite pentru dezvoltarea locală și containerele.