Criar uma Imagem do Docker para o Aplicativo Java
Você pode criar aplicativos do Java como contêineres do Docker de várias maneiras. No entanto, nesta solução, você usará gradle.
Use um plug-in de classificação chamado gradle-docker-plugin
para gerar o Dockerfile.
-
Edite o arquivo
build.gradle
para incluir o plug-in. Nos respectivos blocos de seubuild.gradle
junto com as entradas de repositórios e plug-ins existentes:- Adicione as alterações do script de build para abrir o plug-in.
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } }
- Adicione o repositório de nível raiz
jcenter
( as dependências de plug-in são distribuídas por meio dojcenter
).repositories { jcenter() }
- Aplique o plug-in.
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application'
- Adicione a tarefa jar, pois ela cria o arquivo jar que você extrairá à imagem do Docker.
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' }
- Configure o plug-in de classificação para recuperar metadados. Isso instrui o plug-in a gerar um Dockerfile baseado na imagem do
openjdk:8
, expor a porta8080
no container e, em seguida, marcar a imagem comoomc-sample-app:0.1
. Substitua o tenancy e o nome do repositório por valores válidos. Se você usar um nome de repositório que não existe, ele será criado para você, desde que tenha privilégios de criação de repositório.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' } }
- Adicione as alterações do script de build para abrir o plug-in.
- Edite
gradle/wrapper/gradle-wrapper.properties
e altere o valor dedistributionUrl
para atualizar a versão de classificação:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
- Crie a imagem.
./gradlew clean jar dockerBuildImage
A adição anterior ao build.gradle
gera a aplicação e o Dockerfile e executa o build do Docker para gerar e marcar a imagem para o contêiner.
Você pode verificar isso listando as imagens Docker em seu repositório local. Execute o seguinte em um terminal:
docker images