Ubuntu 22.04
Sponsored Link

Docker : बाह्य संग्रहण का उपयोग करें2023/09/04

 
जब कंटेनर हटा दिए जाते हैं, तो उनमें मौजूद डेटा भी नष्ट हो जाता है, इसलिए यदि आपको ज़रूरत हो तो कंटेनर में बाहरी फ़ाइल सिस्टम को लगातार स्टोरेज के रूप में उपयोग करना आवश्यक है।
[1] Docker होस्ट पर एक निर्देशिका को कंटेनरों में माउंट करना संभव है।
# कंटेनर डेटा के लिए एक निर्देशिका बनाएं

root@dlp:~#
mkdir -p /var/lib/docker/disk01

root@dlp:~#
echo "persistent storage" >> /var/lib/docker/disk01/testfile.txt
# उपरोक्त निर्देशिका को [/mnt] पर माउंट करके एक कंटेनर चलाएँ

root@dlp:~#
docker run -it -v /var/lib/docker/disk01:/mnt ubuntu /bin/bash
root@3f90e49252cb:/#
df -hT

Filesystem                        Type     Size  Used Avail Use% Mounted on
overlay                           overlay   77G  8.9G   64G  13% /
tmpfs                             tmpfs     64M     0   64M   0% /dev
shm                               tmpfs     64M     0   64M   0% /dev/shm
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      77G  8.9G   64G  13% /mnt
tmpfs                             tmpfs    7.9G     0  7.9G   0% /proc/acpi
tmpfs                             tmpfs    7.9G     0  7.9G   0% /proc/scsi
tmpfs                             tmpfs    7.9G     0  7.9G   0% /sys/firmware

root@3f90e49252cb:/#
cat /mnt/testfile.txt

persistent storage
[2] Docker डेटा वॉल्यूम कमांड द्वारा बाहरी स्टोरेज को कॉन्फ़िगर करना भी संभव है।
# [volume01] वॉल्यूम बनाएं

root@dlp:~#
docker volume create volume01

volume01
# वॉल्यूम सूची प्रदर्शित करें

root@dlp:~#
docker volume ls

DRIVER    VOLUME NAME
local     volume01

# [volume01] का विवरण प्रदर्शित करें

root@dlp:~#
docker volume inspect volume01

[
    {
        "CreatedAt": "2022-09-07T07:49:47Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/volume01/_data",
        "Name": "volume01",
        "Options": {},
        "Scope": "local"
    }
]

# कंटेनर पर [volume01] से [/mnt] माउंटिंग के साथ एक कंटेनर चलाएं

root@dlp:~#
docker run -it -v volume01:/mnt ubuntu
root@039c03a8e089:/#
df -hT /mnt

Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv ext4   77G  8.9G   64G  13% /mnt

root@039c03a8e089:/#
echo "Docker Volume test" > /mnt/testfile.txt

root@039c03a8e089:/#
exit
root@dlp:~#
cat /var/lib/docker/volumes/volume01/_data/testfile.txt

Docker Volume test
# अन्य कंटेनरों से माउंट करना संभव है

root@dlp:~#
docker run -v volume01:/var/volume01 ubuntu /usr/bin/cat /var/volume01/testfile.txt

Docker Volume test
# वॉल्यूम हटाने के लिए, निम्न कार्य करें

root@dlp:~#
docker volume rm volume01

Error response from daemon: remove volume01: volume is in use - [969eea8e7c9bc646f6a59f01072509c36324003008ef4d23665abcf411f912e8, 039c03a8e089a588d4115a2aacec369b4fcc731a626dfe32977043c96e395376]

# यदि कुछ कंटेनर उस वॉल्यूम का उपयोग कर रहे हैं जिसे आप ऊपर की तरह हटाना चाहते हैं,
# वॉल्यूम हटाने से पहले इसे लक्ष्य कंटेनरों को हटाने की आवश्यकता है

root@dlp:~#
docker rm 969eea8e7c9bc646f6a59f01072509c36324003008ef4d23665abcf411f912e8

root@dlp:~#
docker rm 039c03a8e089a588d4115a2aacec369b4fcc731a626dfe32977043c96e395376
root@dlp:~#
docker volume rm volume01

volume01
मिलान सामग्री