Creación de una imagen de Docker para la aplicación Java
Puede crear aplicaciones de Java como contenedores de Docker de varias formas. Sin embargo, en esta solución, utilizará el nivel.
Utilice un plugin de grado llamado gradle-docker-plugin
para generar el Dockerfile.
-
Edite el archivo
build.gradle
para incluir el plugin. En los respectivos bloques debuild.gradle
junto con las entradas de repositorios y plugins existentes:- Agregue los cambios del script de creación para extraer el plugin.
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } }
- Agregue el repositorio de nivel raíz
jcenter
( las dependencias de plugin se distribuyen mediantejcenter
).repositories { jcenter() }
- Aplique el plugin.
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application'
- Agregue la tarea jar porque esto crea el archivo jar que introducirá en la imagen de Docker.
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' }
- Configure el plugin de nivel para recuperar metadatos. Esto indica al plugin que genere un Dockerfile basado en la imagen de
openjdk:8
, exponga el puerto8080
del contenedor y, a continuación, etiquete la imagen comoomc-sample-app:0.1
. Sustituya el nombre de arrendamiento y repositorio por valores válidos. Si utiliza un nombre de repositorio que no existe, se creará por usted, siempre que tenga privilegios de creación de repositorio.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' } }
- Agregue los cambios del script de creación para extraer el plugin.
- Edite
gradle/wrapper/gradle-wrapper.properties
y cambie el valor dedistributionUrl
para actualizar la versión de nivel:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
- Cree la imagen.
./gradlew clean jar dockerBuildImage
La adición anterior a build.gradle
genera la aplicación y Dockerfile, y ejecuta la versión Docker para generar y etiquetar la imagen para el contenedor.
Puede verificarlo mostrando las imágenes de Docker en el repositorio local. Ejecute lo siguiente desde un terminal:
docker images