مثال Docker
توضح هذه الصفحة إعدادًا قابلاً للتكرار باستخدام Docker لتشغيل سيناريو AugeLab Studio بامتداد .pmod في وضع headless (بدون واجهة رسومية).
تبنى الصورة محليًا من خلال Dockerfile. العملاء لا يحتاجون إلى كود مصدر AugeLab Studio. الحاوية تقوم بتثبيت الحزمة المغلقة المصدر studio من فهرس حزم AugeLab أثناء بناء الصورة.
المتطلبات المسبقة
Docker Desktop أو Docker Engine مع Docker Compose.
وصول إلى فهرس حزم AugeLab.
رمز التحقق (AugeLab verification code).
ملف سيناريو
.pmodيمكن تشغيله headlessly.إذا كنت تستخدم GPU/CUDA: تثبيت NVIDIA Container Toolkit على المضيف.
المسار السريع
أنشئ بنية المجلدات الموضحة أدناه.
ضع ملف
.pmodداخلapp/.أضف رمز التحقق إلى ملف
.env.استخدم Dockerfile الخاص بـ CPU أو GPU.
شغّل
docker compose up --build.تحقق من مجلد
output_on_host.
بنية المشروع
استبدل your_scenario.pmod بملف السيناريو الخاص بك.
ملف البيئة
انشئ ملف .env بجانب docker-compose.yml:
لا تقم بعمل commit لملف .env إذا كان يحتوي على رمز تحقق حقيقي.
مشغل السيناريو
انشئ app/run_scenario.py:
إذا كان السيناريو الخاص بك يكتب ملفات، قم بتكوين السيناريو ليكتبها داخل /app/app_output.
Dockerfile للـ CPU
استخدم هذا للبناء والتشغيل headless على المعالج (CPU).
Dockerfile للـ GPU/CUDA
استخدم هذا إذا كان السيناريو يحتاج تسريع CUDA. يجب أن يحتوي المضيف على تعريفات NVIDIA المتوافقة وNVIDIA Container Toolkit.
ملف Compose
استخدم هذا مع Dockerfile الخاص بالـ CPU:
هذا يقوم بربط ./output_on_host من مجلد المشروع لديك داخل الحاوية عند /app/app_output.
على Windows، استخدم شرطات مائلة للأمام في مسارات المونت المطلقة لدوكر، على سبيل المثال C:/work/augelab_output:/app/app_output. عادةً ما تكون عمليات الربط النسبية مثل ./output_on_host:/app/app_output أسهل للمشاركة عبر الأجهزة.
ملف Compose للـ GPU/CUDA
استخدم هذا مع Dockerfile.cuda:
البناء والتشغيل
CPU:
GPU/CUDA:
ينبغي أن ترى سجلات AugeLab Studio ونتيجة السيناريو في الطرفية.
التحقق من المخرجات
تحقق من مجلد output_on_host على جهازك. الملفات التي يكتبها السيناريو إلى /app/app_output يجب أن تظهر هناك.
استكشاف الأخطاء وإصلاحها
فشل تثبيت studio
تأكد من وجود اتصال شبكي ووصول إلى فهرس حزم AugeLab.
فشل الترخيص/التفعيل
تأكد من ضبط AUGELAB_VERIFICATION_CODE وأن الحاوية لديها اتصال بالإنترنت.
ملف السيناريو غير موجود
تأكد من أن SCENARIO_PATH يطابق .pmod المنسوخ بواسطة Dockerfile.
مجلد المخرجات فارغ
تأكد أن .pmod يكتب إلى /app/app_output.
فشل تركيب مجلد على Windows
استخدم شرطات مائلة للأمام وتأكد من أن Docker Desktop لديه إذن للوصول إلى القرص.
الحاوية الخاصة بـ GPU لا ترى الـ GPU
ثبّت NVIDIA Container Toolkit واختبر باستخدام docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu22.04 nvidia-smi.
آخر تحديث