تكنولوجيا

ما هي مجلدات Docker وكيفية استخدامها؟ – CloudSavvy IT

بشكل افتراضي ، تكون حاويات Docker عديمة الحالة تمامًا. البيانات المخزنة على الحاوية مؤقتة وسيتم مسحها عند إغلاق الحاوية. بالنسبة للعديد من التطبيقات ، من الواضح أن هذا ليس خيارًا مثاليًا ، لذلك يوفر Docker عدة طرق للتعامل مع الحالة.

ما هو الحجم؟

أسهل طريقة لجعل بيانات Docker دائمة هي جبل منضم، والذي يربط الموقع الموجود على القرص المضيف بالموقع الموجود على قرص الحاوية. من السهل إنشاءها واستخدامها ، لكنها مرهقة بعض الشيء لأنك تحتاج إلى إعداد الأدلة وإدارتها بنفسك.

وحدات التخزين مثل الأقراص الثابتة الافتراضية التي يديرها Docker. يتولى Docker تخزينها على القرص (عادةً بتنسيق /var/lib/docker/volumes/) وتزويدهم باسم واحد يسهل تذكره بدلاً من مسار الدليل. من السهل إنشاءها وحذفها باستخدام Docker CLI.

بالإضافة إلى إدارتها بواسطة Docker ، فهذه لها فوائد أخرى. يمكنهم العمل على حاويات Linux و Windows ، ويمكن مشاركتها بشكل أكثر أمانًا بين حاويات متعددة ، وتسمح برامج تشغيل وحدة التخزين لموفري السحابة بتوفير استضافة عن بُعد للبيانات الأساسية. بشكل عام ، تكون الأحجام أسهل في الاستخدام من حوامل الربط ويوصي Docker بإدارة الحالة.

بالطبع ، يجب أن تفكر فيما إذا كنت تحتاج حقًا إلى تخزين بيانات Docker على الخادم. بالنسبة للعديد من التطبيقات ، يعد استخدام منطقة تخزين بيانات خارجية عن بُعد (مثل Amazon S3) أو قاعدة بيانات خارجية كافيًا لتخزين البيانات التي يستخدمونها دون ربطها على خادم الواجهة الأمامية.

كيف تستخدمها؟

يمكنك إنشاء وحدة تخزين جديدة من سطر الأوامر باستخدام الأمر التالي:

docker volume produce nginx-config

ثم ، عند تشغيل حاوية Docker ، استخدم --mount علم:

docker operate -d 
--name devtest 
--mount resource=nginx-config,concentrate on=/and many others/nginx 
nginx:most recent

اذا ركضت docker inspect ، سوف تكون في ” Mounts الجزء.

إذا كنت تستخدم Docker Compose ، فإن الإعداد سهل أيضًا.فقط أضف واحدة volumes لديك إدخال لكل خدمة حاوية ، ثم قم بتعيين اسم وحدة التخزين إلى الموقع الموجود في الضيف.تحتاج أيضًا إلى تقديم قائمة بأحجام المستوى الأعلى volumes تشكل الاحتياطيات.

model: "3."
products and services:
  world-wide-web:
    impression: nginx:newest
    ports:
      - "80:80"
    volumes:
      - nginx-config:/and many others/nginx/
volumes:
  nginx-config:

سيؤدي هذا تلقائيًا إلى إنشاء مجلد لهذا التأليف.إذا كنت ترغب في استخدام القوائم المعدة مسبقًا من خارج Compose ، فيرجى تحديد ذلك external: correct في تكوين الحجم:

volumes:
  cms-written content:
    exterior: real

إذا كنت تريد فقط إجراء تثبيت ربط بدون إزعاج وحدة التخزين ، فما عليك سوى إدخال اسم مسار بدلاً من اسم وحدة التخزين ، ثم التخلي عن تحديد اسم وحدة التخزين.

variation: "3."
companies:
  website:
    picture: nginx:most up-to-date
    ports:
      - "80:80"
    volumes:
      - /docker/nginx-config/:/and so on/nginx/

إذا كانت حالة الاستخدام الخاصة بك تتطلب محتوى أكثر تحديدًا من هذا ، فيمكنك قراءة وثائق Docker الكاملة حول استخدام وحدات التخزين في Compose.

حجم عامل النقل

وحدات تخزين Docker هي مجرد مجلدات يتم إنشاؤها وتخزينها تلقائيًا في ملفات /var/lib/docker/volumes/، يتم تخزين كل مجلد في ./volumename/_details/. للنسخ الاحتياطي والاستعادة ، يمكنك إجراء نسخ احتياطي مباشر لوحدات التخزين هذه.

إذا كنت تريد استخدام Docker CLI ، للأسف ، فهي لا توفر طريقة سهلة. لنسخ حجم الحاوية احتياطيًا ، ستحتاج إلى اسم الحاوية والموقع الذي يتم تخزين البيانات فيه.

هذه الطريقة مرهقة بعض الشيء – تحتاج إلى تشغيل الأمر في حاوية Docker الجديدة ، وربط دليل shell الحالي ، وتثبيت وحدة التخزين على الحاوية ، ثم tar يذهب الدليل إلى النسخ الاحتياطي.سوف ينتهي بك الأمر مع backup.tar حجم:

docker operate --rm --volumes-from containername -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /mountlocation

بعد ذلك ، بالمثل ، يمكنك استخراج ملف الأرشيف إلى الدليل الهدف:

docker operate --rm --volumes-from containername -v $(pwd):/backup ubuntu bash -c "cd /mountlocation && tar xvf /backup/backup.tar --strip 1"

لا يزال هذا أفضل من الاضطرار إلى معرفة موقع المضيف ، لذا يمكنك تشغيله تلقائيًا حسب الحاجة.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى