Persistent volumes

इंटरमीडिएट Docker

Mike Metzger

Data Engineering Consultant

वॉल्यूम क्या है?

  • Volumes Docker में डेटा स्टोर करने का एक विकल्प हैं, जो कंटेनर इमेज या होस्ट फाइलसिस्टम से स्वतंत्र होते हैं
  • कमांड लाइन (या API) से मैनेज होते हैं
  • कई कंटेनरों में शेयर कर सकते हैं
  • फाइल शेयर/बाइंड माउंट्स से बेहतर परफॉर्मेंस
  • हटाने तक बने रहते हैं

वॉल्यूम माउंट.png

1 Image modified from https://docs.docker.com
इंटरमीडिएट Docker

वॉल्यूम मैनेज करना

  • docker volume
  • docker volume create <volumename>
  • docker volume ls या docker volume list
  • docker volume inspect
    • वॉल्यूम का मेटाडेटा देता है, जैसे Name, Mountpoint, Options, आदि
  • docker volume rm
इंटरमीडिएट Docker

वॉल्यूम क्रिएशन उदाहरण

bash> docker volume create sqldata
sqldata
bash> docker volume ls
DRIVER    VOLUME NAME
local     2f2b7f710551e004dcdd9edf4cad31c37826b428de12f1c04ca02305d216ab00
local     14da7ff0c6eb29f644e6f9f9d59bbcf56b3699c04881dd7cbcaa9ecd6bef239c
local     150aa3c5c7aee30ffd1ec7ecf39f03989bf561536a9413ebed96ffbaa537d103
local     sqldata
...
इंटरमीडिएट Docker

वॉल्यूम inspect उदाहरण

bash> volume inspect sqldata

[ { "CreatedAt": "2024-01-27T04:27:51Z", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/sqldata/_data", "Name": "sqldata", "Options": null, "Scope": "local" } ]
इंटरमीडिएट Docker

वॉल्यूम अटैच करना

  • -v कमांड यूज़ करता है
    • docker run -v <volumename>:<destination path>:<options>
    • वॉल्यूम नाम मौजूदा वॉल्यूम का नाम होता है
    • डेस्टिनेशन पाथ वह लोकेशन है जहाँ वॉल्यूम माउंट होगा (जैसे /data)
    • Options कॉमा-सेपरेटेड वैल्यूज़ की वैकल्पिक लिस्ट, जैसे read-only के लिए ro.
  • --mount भी उपलब्ध है, जैसे bind-mounts में
$ docker run -v sqldata:/data postgres
इंटरमीडिएट Docker

ड्राइवर्स

  • Docker वॉल्यूम स्टोर करने के तरीके
  • इनमें शामिल हो सकते हैं:
    • लोकल फाइलसिस्टम (डिफॉल्ट)
    • NFS (Unix फाइलशेयरिंग)
    • SMB / CIFS (Windows फाइलशेयरिंग)
इंटरमीडिएट Docker

अभ्यास करते हैं!

इंटरमीडिएट Docker

Preparing Video For Download...