البرمجة

Docker Named Volumes: التحول من Data-Only Containers إلى تقنية Named Volumes

في الإصدارات السابقة من Docker (حتى v1.10)، كان يعتبر استخدام “data-only containers” أمرًا شائعًا. كنا نقوم بإنشاء مثل هذه الحاوية باستخدام صورة مثل busybox ونستخدم “–volumes-from” لربطها بحاويتنا الأخرى. يمكن العثور على تفاصيل حول هذه الطريقة في توثيق Docker.

ومع إصدار جديد من Docker، يتم تشجيعنا الآن على استخدام “named volumes” بدلاً من “data-only containers”. في المثال أدناه لملف “docker-compose.yml”، يتم إنشاء واستخدام “named volume” بإسم “es-data”:

yaml
version: '2' services: elasticsearch: image: elasticsearch:2.2.0 command: elasticsearch -Des.network.host=0.0.0.0 ports: - "9201:9200" volumes: - "es-data:/usr/share/elasticsearch/data" volumes: es-data:

يظهر هنا كيف يتم إنشاء واستخدام الـ “named volume” باسم “es-data”.

حتى الآن، لا توجد الكثير من الوثائق حول هذه الميزة الجديدة، ولذا أود أن أطرح بعض الأسئلة:

  1. هل يمكننا استبدال “data-only containers” بـ “named volumes”؟ وكم مدى استمرارية البيانات في الـ “volume”؟ وماذا يحدث إذا قمت بإزالة الحاوية التي تستخدمه؟
  2. كيف يمكننا القيام بعمليات النسخ الاحتياطي الآن؟ في الماضي، كنت قادرًا على تشغيل “docker run –rm –volumes-from es-data …” ثم استخدام “tar” لضغطه.

هذه الأسئلة تتساءل عن مدى تبادل الوظائف بين “data-only containers” و “named volumes”، وما هي الآثار على استمرارية البيانات وعمليات النسخ الاحتياطي. يبدو أن هناك حاجة لمزيد من الوثائق والتفصيل لتوضيح كيفية استخدام هذه الميزة الجديدة بشكل أفضل.

المزيد من المعلومات

تعتبر “named volumes” في Docker تطورًا هامًا في إدارة حجوم البيانات، ولكن لا تزال هناك بعض الجوانب التي يجب أن نلقي الضوء عليها لفهم كيفية الاستفادة منها بشكل أفضل.

  1. استبدال “data-only containers”:
    يمكن بسهولة استبدال “data-only containers” بـ “named volumes”. في حين كان يتعين عليك في الماضي إنشاء حاوية فقط للبيانات، يمكنك الآن تعريف “named volume” مباشرة في ملف “docker-compose.yml” أو باستخدام أمر الطرفية. هذا يجعل الإعداد أكثر بساطة ووضوحًا.

  2. مدى استمرارية البيانات في الـ “named volume”:
    يُفترض أن “named volumes” هي حاويات مستقلة ودائمة البيانات. بمعنى آخر، إذا قمت بإنشاء “named volume” باسم “es-data”، فإن البيانات المخزنة في هذا الحجم ستظل قائمة حتى تقوم بتفريغ الحجم بشكل صريح أو تقوم بإزالة الحجم نفسه.

  3. تأثير إزالة الحاوية المستخدمة للـ “named volume”:
    بشكل عام، لا يؤثر إزالة الحاوية المستخدمة للـ “named volume” على البيانات المخزنة. يعني ذلك أنه يمكنك إعادة استخدام “named volume” في حاويات أخرى بسهولة دون فقدان البيانات.

  4. عمليات النسخ الاحتياطي:
    في حالة النسخ الاحتياطي، يمكنك استخدام أمر “docker run” مع “–volumes-from” للوصول إلى “named volume” ومن ثم استخدام “tar” أو أي أداة أخرى لضغط البيانات. على سبيل المثال:

    bash
    docker run --rm --volumes-from your-container -v $(pwd):/backup busybox tar cvf /backup/backup.tar /path/to/volume/data

    هذا الأمر يقوم بإنشاء ملف نسخ احتياطي “backup.tar” في الدليل الحالي يحتوي على بيانات الـ “named volume”.

باستخدام “named volumes”، يُمكنك تبسيط وتحسين عمليات إدارة البيانات في Docker، ولكن يجب عليك فحص التفاصيل الدقيقة والتأكد من أن هذه الطريقة تلبي متطلبات تطبيقك بشكل كامل.

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

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر