Docker -Bild für die Java-Anwendung erstellen

Sie können Java-Anwendungen auf mehrere Arten als Docker-Container erstellen. In dieser Lösung verwenden Sie jedoch Gradle.

Verwenden Sie ein Gradle Plug-in mit der Bezeichnung gradle-docker-plugin, um die Dockerfile zu generieren.

  1. Bearbeiten Sie die Datei build.gradle, um das Plug-in aufzunehmen. In den entsprechenden Blöcken Ihrer build.gradle zusammen mit den Einträgen für vorhandene Repositorys und Plug-ins:

    1. Fügen Sie die Build-Skriptänderungen hinzu, die in das Plug-in mit Pull übertragen werden sollen.
      buildscript {
              repositories {
                  maven {
                      url 'https://plugins.gradle.org/m2/'
                  }
              }
              dependencies {
                 classpath 'com.bmuschko:gradle-docker-plugin:4.3.0'
              }
          }
      
    2. Fügen Sie das Repository auf jcenter Root-Ebene hinzu ( die Plug-in-Abhängigkeiten werden über jcenter verteilt).
      
      repositories {
          jcenter()
      }
    3. Spielen Sie das Plug-in ein.
      apply plugin: 'application'
      apply plugin: 'com.bmuschko.docker-java-application'
      
      mainClassName = 'hello.Application'
    4. Fügen Sie die JAR-Aufgabe hinzu, weil dadurch die JAR-Datei erstellt wird, die Sie in das Docker-Bild aufnehmen möchten.
      
      jar {
          enabled = true
          baseName = 'gs-accessing-data-rest'
          version = '0.1.0'
      }
    5. Konfigurieren Sie das Gradle Plug-in für das Abrufen von Metadaten. Dadurch wird das Plug-in angewiesen, eine Dockerfile zu generieren, die auf dem openjdk:8-Bild basiert, den Port 8080 im Container anzugeben und dann das Bild als omc-sample-app:0.1 taggen. Ersetzen Sie den Mandanten- und Repository-Namen durch gültige Werte. Wenn Sie einen nicht vorhandenen Repository-Namen verwenden, wird dieser für Sie erstellt, sofern Sie über die Berechtigung zum Erstellen eines Repositorys verfügen.
      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. Bearbeiten Sie gradle/wrapper/gradle-wrapper.properties, und ändern Sie den Wert von distributionUrl, um die Gradle-Version zu aktualisieren:

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

  3. Erstellen Sie das Bild.

    ./gradlew clean jar dockerBuildImage

Das vorangehende Zusatz an build.gradle generiert die Anwendung und die Dockerfile und führt das Docker-Build aus, um das Bild für den Container zu generieren und zu taggen.

Sie können dies prüfen, indem Sie die Docker-Bilder in Ihrem lokalen Repository auflisten. Führen Sie Folgendes von einem Terminal aus:

docker images