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.gradlezusammen 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
jcenterRoot-Ebene hinzu ( die Plug-in-Abhängigkeiten werden überjcenterverteilt).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 Port8080im Container anzugeben und dann das Bild alsomc-sample-app:0.1taggen. 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