تكوين صورة Docker لتطبيق Java
يمكنك إنشاء تطبيقات Java كحاويات Docker بعدة طرق. ومع ذلك، في هذا الحل، ستستخدم بشكل متدرج.
استخدم برنامج إضافي متدرجًا يسمى gradle-docker-plugin لإنشاء ملف Dockerfile.
-
قم بتحرير ملف
build.gradleلتضمين البرنامج الإضافي. في القطع الخاصة بـbuild.gradleبالإضافة إلى إدخالات المخازن والبرامج الإضافية الموجودة:- أضف تغييرات اسكربت الإنشاء للسحب في البرنامج الإضافي.
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } } - أضف مخزن مستوى
jcenterالأولي (يتم توزيع تبعيات البرنامج الإضافي من خلالjcenter).repositories { jcenter() } - قم بتطبيق البرنامج الإضافي.
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application' - إضافة مهمة jar، لأن ذلك يؤدي إلى تكوين ملف jar الذي سيتم سحبه إلى صورة Docker.
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' } - تكوين البرنامج الإضافي للدرجة لاسترجاع بيانات التعريف. يؤدي ذلك إلى إعلام البرنامج الإضافي بإنشاء ملف Dockerfile يستند إلى صورة
openjdk:8، وعرض المنفذ8080في الحاوية، ثم وضع علامة على الصورة باسمomc-sample-app:0.1. استبدال اسم الأرض المستأجرة واسم المخزن بقيم صالحة. إذا كنت تستخدم اسم مخزن غير موجود، فسيتم تكوينه لك، طالما أن لديك امتيازات تكوين مخزن.docker { javaApplication { baseImage = 'openjdk:8' maintainer = 'Your Name "your.email@company.com"' ports = [8080] tag = 'region-code.ocir.io/my-tenant/my-repo/omc-sample-app:latest' } }
- أضف تغييرات اسكربت الإنشاء للسحب في البرنامج الإضافي.
- قم بتحرير
gradle/wrapper/gradle-wrapper.propertiesوتغيير قيمةdistributionUrlلتحديث إصدار التدرج:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip - إنشاء الصورة.
./gradlew clean jar dockerBuildImage
إن الإضافة السابقة إلى build.gradle ينشئ التطبيق وملف Dockerfile ويقوم بتشغيل إصدار Docker لإنشاء الصورة الخاصة بالحاوية ووضع علامة عليها.
ويمكن التحقق من ذلك عبر عرض صور Docker في المخزن المحلي. قم بتشغيل التالي من النهاية الطرفية:
docker images