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.
-
Bearbeiten Sie die Datei
build.gradle
, um das Plug-in aufzunehmen. In den entsprechenden Blöcken Ihrerbuild.gradle
zusammen mit den Einträgen für vorhandene Repositorys und Plug-ins:- 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' } }
- Fügen Sie das Repository auf
jcenter
Root-Ebene hinzu ( die Plug-in-Abhängigkeiten werden überjcenter
verteilt).repositories { jcenter() }
- Spielen Sie das Plug-in ein.
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application'
- 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' }
- 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 Port8080
im Container anzugeben und dann das Bild alsomc-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' } }
- Fügen Sie die Build-Skriptänderungen hinzu, die in das Plug-in mit Pull übertragen werden sollen.
- Bearbeiten Sie
gradle/wrapper/gradle-wrapper.properties
, und ändern Sie den Wert vondistributionUrl
, um die Gradle-Version zu aktualisieren:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
- 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