"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكن لـ DockerMake دمج صور Docker المتعددة في صورة واحدة موحدة؟

كيف يمكن لـ DockerMake دمج صور Docker المتعددة في صورة واحدة موحدة؟

تم النشر بتاريخ 2024-11-17
تصفح:219

How Can DockerMake Combine Multiple Docker Images into a Single Unified Image?

مجموعة صور Docker: دمج صور متعددة في طبقة واحدة

يعد دمج صور Docker المتعددة في صورة واحدة موحدة ميزة غير مدعومة أصلاً بواسطة Docker. ومع ذلك، فإن أداة DockerMake، التي طورها أحد المساهمين مفتوحي المصدر، توفر حلاً لتلبية هذه الحاجة.

يستخدم DockerMake ملف تكوين YAML لتحديد تكوين الصورة المستهدفة. يحدد هذا الملف الصور الأساسية التي تساهم في الصورة النهائية، بالإضافة إلى أي تعليمات بناء ضرورية. خذ بعين الاعتبار مثال السيناريو الذي ترغب فيه في إنشاء صورة تتضمن إمكانات Java وMySQL.

باستخدام DockerMake، يمكنك إنشاء ملف DockerMake.yml بالبنية التالية:

specificAB:
  requires:
    - genericA
    - genericB

genericA:
  requires:
    - customBase
  build_directory: [local directory path]
  build: |
    # Dockerfile commands for genericA
    # e.g., ADD installA.sh, RUN ./installA.sh

genericB:
  requires:
    - customBase
  build: |
    # Dockerfile commands for genericB 
    # e.g., RUN apt-get install -y genericB, ENV PATH=$PATH:something

customBase:
  FROM: debian:jessie
  build: |
    # Dockerfile commands for customBase
    # e.g., RUN apt-get update && apt-get install -y build-essentials

لإنشاء صورة AB محددة باستخدام DockerMake، ما عليك سوى تنفيذ الأمر:

docker-make specificAB

سيقوم هذا الأمر بإنشاء ملفات Dockerfiles الضرورية بناءً على تكوين YAML وتنفيذ عملية الإنشاء، مما يؤدي في النهاية إلى إنشاء صورة موحدة تشمل وظائف كل من Java و ماي إس كيو إل.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3