يوضح لك هذا المستودع كيفية إنشاء وتخصيص حاوية Docker® لـ MATLAB® وصناديق الأدوات الخاصة بها، باستخدام MATLAB Package Manager ( mpm ).
يمكنك استخدام صورة الحاوية هذه كطريقة قابلة للتطوير وقابلة للتكرار لنشر واختبار كود MATLAB الخاص بك.
استخدم Dockerfile في مستودع المستوى الأعلى هذا إذا كنت تريد طريقة خفيفة وبسيطة لإنشاء صورة حاوية MATLAB. يمكنك أيضًا تنزيل الصور المعدة مسبقًا بناءً على ملف Dockerfile من هنا.
للحصول على موارد بديلة، راجع المجلد البديل الذي يحتوي على ملفات Dockerfiles التالية:
mpm
لتثبيت MATLAB في الحاوية. يتيح لك هذا تثبيت صناديق الأدوات غير المدعومة حاليًا بواسطة mpm. استخدم ملف Dockerfile هذا إذا كنت تفضل استخدام سير عمل مثبت MATLAB، بدلاً من mpm
.mathworks/matlab
. يحتوي ملف Dockerfile هذا على ميزات صورة MATLAB على Docker Hub، مما يسمح لك بالوصول إلى MATLAB المُرسى من خلال متصفح أو وضع دفعي أو موجه أوامر تفاعلي.لمزيد من الموارد ذات الصلة بـ Docker، راجع المزيد من موارد MATLAB Docker.
قم بالوصول إلى ملف Dockerfile هذا إما عن طريق تنزيل هذا المستودع مباشرةً من GitHub®، أو عن طريق استنساخ هذا المستودع ثم الانتقال إلى المجلد المناسب.
git clone https://github.com/mathworks-ref-arch/matlab-dockerfile.git
cd matlab-dockerfile
أنشئ حاوية باسم وعلامة من اختيارك.
docker build -t matlab:R2024b .
قم بتشغيل الحاوية. اختبر الحاوية عن طريق تشغيل مثال لأمر MATLAB مثل ver.
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
يقوم ملف Dockerfile الافتراضي بإنشاء حاوية لـ MATLAB R2024b.
يعرض ver
الأمر المثال رقم إصدار MATLAB والمنتجات المثبتة الأخرى. لمزيد من المعلومات، انظر الإصدار. لمزيد من المعلومات حول تشغيل الحاوية، راجع القسم الخاص بتشغيل الحاوية.
ملحوظة
يضمن استخدام علامة
--init
في أمرdocker run
أن تتوقف الحاوية بأمان عند إصدار أمرdocker stop
أو أمرdocker kill
. لمزيد من المعلومات، راجع الروابط التالية:
- الصفحة المرجعية لتشغيل عامل ميناء.
- منشور مدونة حول استخدام init.
افتراضيًا، يقوم Dockerfile بتثبيت MATLAB لأحدث إصدار متوفر من MATLAB دون أي صناديق أدوات أو منتجات إضافية في المجلد /opt/matlab/${MATLAB_RELEASE}
.
استخدم الخيارات أدناه لتخصيص التصميم الخاص بك.
يدعم Dockerfile متغيرات وقت بناء Docker التالية:
اسم الوسيطة | القيمة الافتراضية | وصف |
---|---|---|
MATLAB_RELEASE | R2024ب | إصدار MATLAB للتثبيت، على سبيل المثال، R2023b . |
MATLAB_PRODUCT_LIST | ماتلاب | المنتجات المراد تثبيتها كقائمة مفصولة بمسافات. لمزيد من المعلومات، راجع MPM.md. على سبيل المثال: MATLAB Simulink Deep_Learning_Toolbox Fixed-Point_Designer |
MATLAB_INSTALL_LOCATION | /opt/matlab/R2024b | المسار لتثبيت MATLAB. |
LICENSE_SERVER | غير محدد | المنفذ واسم المضيف للجهاز الذي يقوم بتشغيل Network License Manager، باستخدام بناء جملة port@hostname . على سبيل المثال: 27000@MyServerName |
استخدم هذه الوسيطات مع أمر docker build
لتخصيص صورتك. وبدلاً من ذلك، يمكنك تغيير القيم الافتراضية لهذه الوسائط مباشرةً في ملف Dockerfile.
على سبيل المثال، لإنشاء صورة لـ MATLAB R2019b، استخدم هذا الأمر.
docker build --build-arg MATLAB_RELEASE=R2019b -t matlab:R2019b .
على سبيل المثال، لإنشاء صورة باستخدام MATLAB وSimulink®، استخدم هذا الأمر.
docker build --build-arg MATLAB_PRODUCT_LIST= ' MATLAB Simulink ' -t matlab:R2024b .
على سبيل المثال، لإنشاء صورة باستخدام MATLAB مثبتًا على /opt/matlab، استخدم هذا الأمر.
docker build --build-arg MATLAB_INSTALL_LOCATION= ' /opt/matlab ' -t matlab:R2024b .
إن تضمين معلومات خادم الترخيص مع أمر docker build
يعني أنك لن تضطر إلى تمريرها عند تشغيل الحاوية.
# Build container with the License Server.
docker build --build-arg LICENSE_SERVER=27000@MyServerName -t matlab:R2024b .
# Run the container, without needing to pass license information.
docker run --init --rm matlab:R2024b -batch ver
تتطلب هذه الحاوية مدير ترخيص الشبكة لترخيص MATLAB وتشغيله. ستحتاج إما إلى المنفذ واسم المضيف الخاصين بمدير ترخيص الشبكة، أو إلى ملف network.lic
.
الخطوة 1 : اتصل بمسؤول النظام لديك، والذي يمكنه تقديم أحد الإجراءات التالية:
عنوان الخادم الخاص بك والمنفذ الذي يعمل عليه. على سبيل المثال: [email protected]
ملف network.lic
الذي يحتوي على الأسطر التالية:
# Sample network.lic
SERVER MyServerName.example.com < optional-mac-address > 27000
USE_SERVER
ملف license.dat
. افتح ملف license.dat
، وابحث عن سطر SERVER
، ثم قم باستخراج port@hostname
أو إنشاء ملف network.lic
عن طريق نسخ سطر SERVER
وإضافة سطر USE_SERVER
أسفله.
# snippet from sample license.dat
SERVER MyServerName.example.com < mac-address > 27000
الخطوة 2 : استخدم port@hostname
أو ملف network.lic
إما مع docker build
أو أمر docker run
.
باستخدام أمر docker build
، يمكنك إما:
حدد وسيطة البناء LICENSE_SERVER
.
# Example
docker build -t matlab:R2024b --build-arg LICENSE_SERVER=27000@MyServerName .
استخدم ملف network.lic
:
network.lic
في نفس المجلد مثل ملف Dockerfile.COPY network.lic /opt/matlab/licenses/
في ملف Dockerfile.LICENSE_SERVER
: # Example
docker build -t matlab:R2024b .
باستخدام أمر docker run
، استخدم متغير البيئة MLM_LICENSE_FILE
. على سبيل المثال:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
إذا لم تقم بتوفير معلومات خادم الترخيص عند إنشاء الصورة، فقم بتقديمها عند تشغيل الحاوية. قم بتعيين متغير البيئة MLM_LICENSE_FILE
باستخدام العلامة -e
، مع تحديد موقع مدير ترخيص الشبكة بالتنسيق port@hostname
.
# Start MATLAB, print version information, and exit:
docker run --init --rm -e MLM_LICENSE_FILE=27000@MyServerName matlab:R2024b -batch ver
يمكنك تشغيل الحاوية دون تحديد MLM_LICENSE_FILE
إذا قمت بتوفير معلومات خادم الترخيص عند إنشاء الصورة، كما هو موضح في الأمثلة أدناه.
لبدء الحاوية وتشغيل MATLAB في موجه الأوامر التفاعلي، قم بتنفيذ:
docker run --init -it --rm matlab:R2024b
لبدء الحاوية، قم بتشغيل أمر MATLAB، ثم قم بالخروج، وقم بتنفيذ:
# Container runs the command RAND in MATLAB and exits.
docker run --init --rm matlab:R2024b -batch rand
لتجاوز السلوك الافتراضي للحاوية وتشغيل MATLAB مع أي مجموعة من الوسائط، مثل -logfile
، قم بتنفيذ:
docker run --init -it --rm matlab:R2024b -logfile " logfilename.log "
لمعرفة المزيد، راجع الوثائق: خيارات بدء التشغيل الشائعة الاستخدام.
استكشف حاويات MATLAB Docker المعدة مسبقًا على Docker Hub: https://hub.docker.com/r/mathworks
تمكين إمكانيات إضافية باستخدام مستودع تبعيات MATLAB. بالنسبة لبعض مسارات العمل ومربعات الأدوات، يجب عليك تحديد التبعيات. يجب عليك القيام بذلك إذا كنت تريد القيام بأي من المهام التالية:
يسرد مستودع مستودع matlab-deps ملفات Dockerfiles لمختلف الإصدارات والأنظمة الأساسية. لعرض ملف Dockerfile لـ R2024b، انقر هنا.
تحتوي ملفات Dockerfiles هذه على سطور معلّقة مع المكتبات التي تدعم هذه الإمكانات الإضافية. انسخ هذه السطور وأزل تعليقها في ملف Dockerfile الخاص بك.
يمكنك المساعدة في تحسين MATLAB من خلال توفير معلومات تجربة المستخدم حول كيفية استخدام منتجات MathWorks. مشاركتك تضمن تمثيلك وتساعدنا في تصميم منتجات أفضل. لإلغاء الاشتراك في هذه الخدمة، احذف السطر التالي في ملف Dockerfile:
ENV MW_DDUX_FORCE_ENABLE=true MW_CONTEXT_TAGS=MATLAB:DOCKERFILE:V1
لمعرفة المزيد، راجع الوثائق: المساعدة في جعل MATLAB أفضل - الأسئلة المتداولة.
نحن نشجعك على تجربة هذا المستودع مع بيئتك وتقديم التعليقات. إذا واجهت مشكلة فنية أو كان لديك طلب تحسين، قم بإنشاء مشكلة هنا.
حقوق الطبع والنشر 2021-2024 لشركة MathWorks, Inc.