Puncte:-2

Cum este de obicei configurat spațiul pe disc (și tehnologiile asociate) pentru stocarea persistentă în Docker

drapel za

Vreau să atașez stocare persistentă la containerele mele docker. Am încercat NFS folosind TrueNAS și se pare că nu am avut noroc acolo.

Cu siguranță, abordez asta într-un mod greșit. Care sunt convențiile comune pentru atașarea stocării persistente în EXTERIA containerului, astfel încât, dacă containerul eșuează sau este refăcut, datele să fie reatașate sau cel puțin să rămână existente.

EDIT: Scuze pentru confuzie. Nu vorbesc despre suporturi de legare sau volume, sunt bine conștient de acele tehnologii. Mă refer la sistemele de fișiere subiacente, adică NFS etc.. există instrumente standard sau sisteme de management, de ex. Longhorn pentru stocarea în bloc pe kubernetes. este mai bine să folosiți o soluție de stocare a fișierelor, obiectelor sau blocurilor etc...

EDITARE 2: Am gata totul în documentele Docker. Știu despre volume și drivere.Ceea ce nu știu este cum să le folosesc corect cu opțiunile respective, deoarece nu sunt documentate corespunzător sau cum aceste lucruri sunt instalate în mod obișnuit într-o soluție. Da, pot doar „utiliza driverul”, dar cum anume? Este NFS o temă comună? Dar stocarea în bloc? Depozitarea obiectelor? Cum este proiectat acest lucru la nivel de sistem.

EDITARE: Adaug această editare pentru că unii nevăstuali l-au închis pentru că nu sunt suficient de specifici. Ca și cum a întreba despre această problemă nu ar fi relevant. Sunt singurul care a avut un răspuns real. Nici măcar utilizatorii obișnuiți ai docker nu au habar despre cum funcționează toate acestea sub capotă. Nu crezi că ar trebui să avem o postare despre această întrebare? Oh, nu, bineînțeles că nu.. trebuie doar să repetă aceleași lucruri mereu și iar.

drapel pl
Ați citit despre [bind mounts](https://docs.docker.com/storage/bind-mounts/) și [volumes](https://docs.docker.com/storage/volumes/)? Una sau amândouă este ceea ce aveți nevoie.
BitShift avatar
drapel za
Nu la asta ma refer... hai sa clarific intrebarea
drapel in
Docker știe doar volume. Nu-i pasă cum le depozitezi.
drapel in
Ar trebui să citiți cu mai multă atenție secțiunea despre volume, în special partea despre driverele de volum.
BitShift avatar
drapel za
@GeraldSchneider Am citit tot ce este de citit despre stocare din documentele docker, ceea ce rămâne neclar este modul în care aceste drivere sunt utile. Sunt rare în documentarea cazurilor de utilizare, a opțiunilor și a designului arhitectural general. Ultimul dintre care am venit aici pentru a-l clarifica.
Puncte:2
drapel ng

Care sunt convențiile comune pentru atașarea stocării persistente ÎN EXTERIOAREA containerului

Nu există.

Întreaga paradigmă Docker se bazează pe presupunerea că puteți crea și distruge containere după cum doriți. Nu sunt persistente și nu ar trebui să fie.

Dacă containerele dvs. se așteaptă să fie ceva acolo, O faci greșitâ¢.

BitShift avatar
drapel za
Ei bine, sigur, trebuie să fie cât mai apatrid posibil și lipsa dependenței este scopul meu. Lucruri precum conținutul Wikijs, fișierele de configurare a tabloului de bord Organizr/Heimdall, cărțile de bucate Ansible pe care le pot salva în afara containerului. În acest fel, în cazul în care trebuie să reconstruiesc containerul, pot pur și simplu să reîncarc conținutul meu salvat. Cu siguranță asta se află în etosul și filozofia containerelor, nu?
Massimo avatar
drapel ng
Da, desigur. Dar pentru toate aceste cazuri soluția este să stocați datele dvs. persistente * în afara * containerelor, într-un loc pe care le pot accesa. *Unde*, exact, depinde de implementarea dvs.
BitShift avatar
drapel za
Da. Acesta este scopul întrebării. Încerc să aflu mai multe despre tehnologiile de bază folosite pentru a facilita acest lucru și de atunci am aflat despre diferite tehnologii de stocare. Voi face un fel de scris aici când voi termina. Deocamdată se pare că NFS pentru stocarea persistentă neperformantă în afara containerului este de preferat. Deși pentru modul în care vreau să configurez aceste containere, cred că la nivel de bloc cu iSCSI va fi mai bun.
Puncte:0
drapel za

Convenția în ceea ce privește tehnologia sistemului de fișiere de bază pare să folosească soluții de stocare bloc, cum ar fi Cinder, BGFS etc... (care pot folosi Ceph, iSCSI și alte tipuri de fișiere bloc) sau stocare de obiecte precum Minio

Aceste tipuri de soluții ajută la gestionarea cu ușurință a spațiului de disc subiacent și, de asemenea, iau în considerare o nevoie implicită de sisteme de fișiere distribuite.

Depinde de cazurile de utilizare și NFS este perfect potrivit pentru cazurile de utilizare în care performanța nu este o problemă, cum ar fi scrierea fișierelor. În acest fel, un container wikijs ar fi un candidat perfect pentru NFS, astfel încât scrierea conținutului generat de utilizatori să poată rămâne separată de container.

Acolo unde soluțiile de stocare în bloc strălucesc și pentru containere, este oferirea ușurinței de implementare în cicluri rapide de creare-distrugere.Așa cum este cazul de utilizare tipic.

Apoi, din nou, dacă rulați o mulțime de containere care au durate de viață nedefinite (cum sunt eu cu Nextcloud, Heimdall, pihole etc...), atunci soluțiile de stocare în bloc vă pot oferi, de asemenea, un aranjament mai flexibil. Îmi place ideea de a folosi stocarea bloc în acest scenariu, deoarece discul și sistemul de fișiere sunt gestionate de aplicație/container, mai degrabă decât în ​​funcție de factori externi. Aceasta poate fi sau nu o preocupare reală a lumii, dar mi-aș putea imagina că există potențiale probleme cu NFS din aceste motive sau mai precis: mai puțin compromis cu o soluție de stocare bloc.

În cele din urmă, și trebuie să confirm acest lucru, urmărirea volumelor asociate fiecărui container devine o sarcină în sine. Aceste soluții de stocare în bloc pot oferi o modalitate ordonată și gestionabilă de a urmări acest lucru în ciclurile de creare-distrugere pentru backup și restaurare.

drapel jp
Minio nu este un bloc de stocare
BitShift avatar
drapel za
Da @AlexD este stocarea obiectelor. Data viitoare vă rugăm să editați intrarea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.