Ubuntu 24.04
Sponsored Link

Docker : बाह्य संग्रहण का उपयोग करें2024/06/13

 

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

[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@4a25f8c3f38d:/#
df -hT

Filesystem                        Type     Size  Used Avail Use% Mounted on
overlay                           overlay   77G  7.6G   65G  11% /
tmpfs                             tmpfs     64M     0   64M   0% /dev
shm                               tmpfs     64M     0   64M   0% /dev/shm
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      77G  7.6G   65G  11% /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": "2024-06-13T00:40:57Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/volume01/_data",
        "Name": "volume01",
        "Options": null,
        "Scope": "local"
    }
]

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

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

Filesystem                        Type  Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv ext4   77G  7.6G   65G  11% /mnt

root@4d651899ed4e:/#
echo "Docker Volume test" > /mnt/testfile.txt

root@4d651899ed4e:/#
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 - [4d651899ed4e4b047c550f03b64b626d3699c4ad504d3d11cd6e6f97e687b49d, bf943ba6a51bd3b820f74b336328d55eff4d6330df3c96efbaf6b875101911bb]

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

root@dlp:~#
docker rm 4d651899ed4e4b047c550f03b64b626d3699c4ad504d3d11cd6e6f97e687b49d

root@dlp:~#
docker rm bf943ba6a51bd3b820f74b336328d55eff4d6330df3c96efbaf6b875101911bb
root@dlp:~#
docker volume rm volume01

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