‫In regula. Acum, că ați învățat totul despre volume și legăturile de legare și de ce
‫trebuie să vă faceți griji cu privire la datele persistente, să facem ceva care este un scenariu real, care este o actualizare de baze de date.
‫Imaginați-vă o situație în care executați o versiune specială a unei baze de date.
‫Să spunem postgres și trebuie să actualizați versiunea patch-urilor, deoarece poate există o soluție de securitate sau o rezolvare de
‫bug-uri sau ceva de genul asta.
‫În mod normal, pe un sistem, ați actualiza software-ul. Ai face o actualizare sau upgrade de sistem de gestionare
‫a pachetelor și s-ar ocupa de toate actualizările bibliotecilor și de totul de la sine.
‫Dar cum facem asta într-un container?
‫Deoarece, dacă încercăm să urmăm cea mai bună practică de a nu actualiza aplicațiile în containere, ci mai degrabă de a
‫înlocui containerul cu o nouă versiune, cum putem face acest lucru cu baza de date?
‫Ce veți face pentru această misiune este că veți folosi Docker Hub pentru a obține informații
‫despre actualizarea versiunii specifice postgres. Vom începe cu dvs. să creați în mod
‫specific un container utilizând versiunea 9. 6. 1, care este o versiune mai veche. Și va trebui să creați un volum numit.
‫Va trebui să vă bazați pe documentația Docker Hub pentru acest lucru, folosind depozitul oficial postgres.
‫Va trebui să intrați în fișierul Docker pentru acea versiune specifică și să aflați ce
‫cale de volum trebuie să fie. Apoi, puteți numi volumul pe care îl doriți pe partea stângă.
‫Dar amintiți-vă că în partea dreaptă a colonului, acesta trebuie să fie calea în care bazele de date
‫actuale vor fi în container.
‫Odată ce ați luat tot ce sa gândit și ați pornit containerul, ar trebui să începeți verificarea jurnalelor pentru a vedea când
‫sa terminat crearea bazelor de date și a tuturor materialelor de pornire. Deoarece pentru prima dată când porniți un container
‫de bază de date, în mod obișnuit face o mulțime de lucruri în fundal, cum ar
‫fi crearea utilizatorului de administrare și o bază de date implicită și așa mai departe.
‫Va fi un moment în care jurnalele se vor opri și apoi va fi difuzată.
‫Dacă ați făcut-o în mod corect, veți putea să faceți un volum al listei de docere și să vedeți volumul enumerat acolo, cu numele pe care l-ați
‫dat și ar trebui să puteți opri acel container. Apoi, veți crea un
‫nou container cu o nouă versiune.
‫Va fi o comandă foarte asemănătoare cu prima, doar că specificați o versiune diferită, veți
‫fi, de asemenea, sigur că doriți să specificați volumul numelui samed, deoarece trebuie să utilizați datele pe care
‫le-ați utilizat în prima.
‫Desigur, asigurați-vă că aveți primul oprit, deoarece ambele nu pot accesa aceleași
‫date în același timp.
‫Odată ce ați început, continuați și verificați din nou jurnalele pentru noul container.
‫Ceea ce ar trebui să vedeți este că are doar câteva linii de jurnale de pornire, deoarece nu trebuie
‫să facă toată munca de pornire inițială.
‫Asta e felul în care știi că folosește același volum
‫numit este că a doua oară când pornește, poate avea doar patru sau cinci intrări în jurnal.
‫Deci, acesta este un scenariu real.
‫Veți face acest lucru dacă ați rula vreodată baze de date de producție sau ceva de care aveți nevoie pentru a păstra curent.
‫Rețineți că majoritatea sistemelor de baze de date nu fac actualizări majore în mod automat.
‫De obicei, este nevoie de un instrument. Cu postgres sau MySQL, există un instrument separat pentru fiecare dintre ele
‫pe care trebuie să-l executați.
‫Este vorba doar de actualizarea versiunilor de patch-uri sau de ultimul număr care nu necesită modificări
‫ale schemelor sau actualizări majore ale codului de date în sine.
‫Ca și înainte, dacă
‫rămâneți blocat, nu vă faceți griji, deoarece acesta este un lucru nou și este posibil să nu fie atât de clar în Docker Hub.
‫Dacă te blochezi într-un anumit moment și Docker Hub nu
‫te ajută, verifică următoarea prelegere, care mă face să fac același exercițiu ca și cum aș face-o.
‫Mult noroc.