تكوين صورة Docker لتطبيق Java

يمكنك إنشاء تطبيقات Java كحاويات Docker بعدة طرق. ومع ذلك، في هذا الحل، ستستخدم بشكل متدرج.

استخدم برنامج إضافي متدرجًا يسمى gradle-docker-plugin لإنشاء ملف Dockerfile.

  1. قم بتحرير ملف build.gradle لتضمين البرنامج الإضافي. في القطع الخاصة بـ build.gradle بالإضافة إلى إدخالات المخازن والبرامج الإضافية الموجودة:

    1. أضف تغييرات اسكربت الإنشاء للسحب في البرنامج الإضافي.
      buildscript {
              repositories {
                  maven {
                      url 'https://plugins.gradle.org/m2/'
                  }
              }
              dependencies {
                 classpath 'com.bmuschko:gradle-docker-plugin:4.3.0'
              }
          }
      
    2. أضف مخزن مستوى jcenter الأولي (يتم توزيع تبعيات البرنامج الإضافي من خلال jcenter).
      
      repositories {
          jcenter()
      }
    3. قم بتطبيق البرنامج الإضافي.
      apply plugin: 'application'
      apply plugin: 'com.bmuschko.docker-java-application'
      
      mainClassName = 'hello.Application'
    4. إضافة مهمة jar، لأن ذلك يؤدي إلى تكوين ملف jar الذي سيتم سحبه إلى صورة Docker.
      
      jar {
          enabled = true
          baseName = 'gs-accessing-data-rest'
          version = '0.1.0'
      }
    5. تكوين البرنامج الإضافي للدرجة لاسترجاع بيانات التعريف. يؤدي ذلك إلى إعلام البرنامج الإضافي بإنشاء ملف 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'
          }
      }
      
  2. قم بتحرير gradle/wrapper/gradle-wrapper.properties وتغيير قيمة distributionUrl لتحديث إصدار التدرج:

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip

  3. إنشاء الصورة.

    ./gradlew clean jar dockerBuildImage

إن الإضافة السابقة إلى build.gradle ينشئ التطبيق وملف Dockerfile ويقوم بتشغيل إصدار Docker لإنشاء الصورة الخاصة بالحاوية ووضع علامة عليها.

ويمكن التحقق من ذلك عبر عرض صور Docker في المخزن المحلي. قم بتشغيل التالي من النهاية الطرفية:

docker images