تقدم هذه المقالة تقنيات استخدام صور Maven Docker ومشاركتها معك ، على النحو التالي:
Maven هي واحدة من أكثر أدوات إدارة مشاريع Java شعبية في الوقت الحاضر ، حيث توفر وظائف قوية لإدارة التبعية وإنشاء التطبيقات.
يوفر Docker صور Maven الرسمية التي يمكن استخدامها لإدارة وإنشاء تطبيقات Java. بالمقارنة مع تثبيت أداة Maven مباشرة ، فإن استخدام صور Docker له إمكانية نقل أفضل ويمكن تبديل الإصدارات بسهولة ، وهو مثالي للاستخدام أثناء التكامل المستمر.
لاستخدام Maven الرسمي المرآة ، يرجى الرجوع إلى وثائق الاستخدام.
باستخدام Cloud Alibaba للتسريع
إن سرعة تنزيل المستودع الرسمي في Maven على الشبكة المحلية أمر مفجع حقًا. يمكن أن يؤدي استخدام صورة Maven من Alibaba Cloud إلى تحسين سرعة تنزيل حزم البرامج.
يمكننا إضافة تكوين صورة Cloud Alibaba استنادًا إلى صورة Maven الرسمية. رمزها متاح على https://github.com/aliyununcontainerservice/maven-image
إعدادات ملف التكوين الخاصة بها. xml كما يلي
<الإعدادات xmlns = "http://maven.apache.org/settings/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd "> <localRepository>/usr/share/maven/ref/ropository </docalrepository> <lireror> <lireror> <! <Url> http://maven.aliyun.com/nexus/content/groups/public/ </url> </lirror> <lireror> <!-يتم استخدام هذا لتوجيه اللقطات العامة في المظهر الجانبي أدناه إلى مجموعة مختلفة- <Url> http://maven.aliyun.com/nexus/content/repositories/snapshots/ </url> </lirror> </mirrors> </settings>
توفر خدمة حاوية Cloud Alibaba صور Docker تم إنشاؤها مسبقًا للاستخدام المباشر لـ Registry.cn-hangzhou.aliyuncs.com/acs/maven.
يمكننا تنفيذ الأمر التالي مباشرة في الدليل الحالي مثل استخدام الأمر MVN لإنشاء التطبيق
انسخ الرمز على النحو التالي: Docker Run -it -RM -Name Maven -V "$ (PWD)":/usr/src/app -w/usr/src/app registry.cn-hangzhou.aliyuncs.com/acs/maven mvn clean install clean
إذا كنت ترغب في أن تكون قادرًا على تخزين مستودع Maven الذي تم تنزيله ، فيمكننا استخدام حجم ملف Docker لتنفيذه
أولاً ، قم بتنفيذ الأمر التالي لإنشاء وحدة تخزين ملف يسمى "Maven-Repo"
CREATION VOLUTY CREATE-NAME MAVEN-REPO
في المكالمة اللاحقة ، قم بتركيبها إلى دليل تنزيل المستودع في صورة Maven
انسخ الرمز على النحو التالي: Docker Run -it - -RM -Name Maven -V "$ (PWD)":/usr/src/app -v maven -repo:/usr/share/maven/ref -w/usr/src/app
وبهذه الطريقة ، لن يتم تنزيل مستودع Maven في كل مرة.
تحسين Dockerfile لتحسين سرعة البناء
يمكننا إنشاء تطبيقات في Dockerfile واستخدام آلية التخزين المؤقت الهرمية أثناء بناء Docker لتحسين سرعة البناء
فيما يلي ملف dockerfile.build
من registry.cn-hangzhou.aliyuncs.com/acs/maven:3-jdk-8env my_home =/usr/src/asprun mkdir -p $ my_homeworkdir $ my_homeadd pom.xml $ my_home# get el the town out to the ["/usr/local/bin/mvn-entrypoint.sh"،"mvn"،"Verify" ،"clean" ، im-fail-never"/add sourceadd. $ my_home# Run Maven VerifyRun ["/usr/local/bin/MVN-ENTRYPOINT.SH"،"MVN"،"Verify"]]
تتمثل إحدى الحيل المهمة أولاً في إضافة pom.xml إلى دليل العمل ، واستخدم الأمر Maven لتنزيل حزمة JAR المطلوبة من قبل التطبيق ، ثم إضافة ملف مصدر التطبيق للتجميع. وبهذه الطريقة ، طالما لم يتم تحديث pom.xml ، فلن يتم إعادة تنزيل حزمة جرة التبعية ، والتي يمكن أن تسرع بشكل كبير من سرعة بناء الصورة.
يمكننا تجميع التطبيق من خلال الأمر التالي
Docker Build -T Builder -IMG -F Dockerfile.Build.
منفصل تجميع التطبيق وبناء صورة Docker
بالنسبة للغات المترجمة الثابتة ، عادة ما نحتاج إلى فصل عملية تجميع التطبيق عن عملية بناء المرآة. هناك اعتبارات رئيسية:
يمكننا نسخ نتائج تجميع التطبيق من صورة Docker ، على النحو التالي
Docker Build -T Builder -IMG -F Dockerfile.Build .Docker إنشاء -Name Builder Builder -ImgDocker CP Builder:/usr/src/app/target ./target
في هذا الوقت ، يتم نسخ نتيجة بناء Maven إلى الدليل الفرعي "الهدف" للدليل الحالي.
بعد ذلك ، يمكننا استخدام DockerFile آخر لإنشاء صور التطبيق. لن أخوض في التفاصيل إذا كان لدي مساحة محدودة.
لخص
تستخدم هذه المقالة Maven كمثال لتقديم بعض التقنيات المشتركة لـ Docker في بناء التطبيق.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.