Creare un'immagine Docker per l'applicazione Java
È possibile creare applicazioni Java come contenitori di Docker in più modi. Tuttavia, in questa soluzione si prevede di utilizzare lo strumento di classificazione.
Utilizzare un plugin di classificazione denominato gradle-docker-plugin
per generare il file Dockerfile.
-
Modificare il file
build.gradle
per includere il plugin. Nei rispettivi blocchi dibuild.gradle
insieme alle voci per i repository e i plugin esistenti:- Aggiungere le modifiche dello script di creazione per eseguire il pull nel plugin.
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } }
- Aggiungere il repository a livello radice di
jcenter
( le dipendenze dei plugin vengono distribuite mediantejcenter
).repositories { jcenter() }
- Applicare il plugin.
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application'
- Aggiungere il task jar, in quanto crea il file jar che verrà inserito nell'immagine Docker.
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' }
- Configurare il plugin di classificazione per recuperare i metadati. In questo modo si indica al plugin di generare un file Dockerfile basato sull'immagine
openjdk:8
, esporre la porta8080
nel contenitore e quindi contrassegnare l'immagine comeomc-sample-app:0.1
. Sostituire la tenancy e il nome repository con valori validi. Se si utilizza un nome repository che non esiste, verrà creato automaticamente, purché si disponga dei privilegi di creazione del repository.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' } }
- Aggiungere le modifiche dello script di creazione per eseguire il pull nel plugin.
- Modificare
gradle/wrapper/gradle-wrapper.properties
e modificare il valore didistributionUrl
per aggiornare la versione di classificazione:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
- Creare l'immagine.
./gradlew clean jar dockerBuildImage
L'aggiunta precedente a build.gradle
genera l'applicazione e il file Dockerfile ed esegue la build Docker per generare e contrassegnare l'immagine per il contenitore.
È possibile verificare questo errore elencando le immagini Docker nel repository locale. Eseguire quanto segue da un terminale:
docker images