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.

  1. Edite el archivo build.gradle para incluir el plugin. En los respectivos bloques de build.gradle junto con las entradas de repositorios y plugins existentes:

    1. 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'
              }
          }
      
    2. Agregue el repositorio de nivel raíz jcenter ( las dependencias de plugin se distribuyen mediante jcenter).
      
      repositories {
          jcenter()
      }
    3. Aplique el plugin.
      apply plugin: 'application'
      apply plugin: 'com.bmuschko.docker-java-application'
      
      mainClassName = 'hello.Application'
    4. 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'
      }
    5. 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 puerto 8080 del contenedor y, a continuación, etiquete la imagen como omc-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'
          }
      }
      
  2. Edite gradle/wrapper/gradle-wrapper.properties y cambie el valor de distributionUrl para actualizar la versión de nivel:

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

  3. 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