为 Java 应用程序创建 Docker 映像
您可以通过多种方式构建 Java 应用程序作为 Docker 容器。但是,在此解决方案中,您将使用个人模块。
使用名为 gradle-docker-plugin 的 gradle 插件可生成 Dockerfile。
-
编辑
build.gradle文件以包括插件。在build.gradle的各自块中,以及现有资料档案库和插件的条目:- 添加构建脚本更改以提取插件。
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } } - 添加
jcenter根级别资料档案库(插件相关性通过jcenter分布)。repositories { jcenter() } - 应用插件。
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application' - 添加 jar 任务 , 因为这将创建要提取到 Docker 映像的 jar 文件。
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' } - 配置 gradle 插件以检索元数据。这指示插件生成基于
openjdk:8映像的 Docker 文件,在容器上公开端口8080,然后将该图像标记为omc-sample-app:0.1。将租户和资料档案库名称替换为有效值。如果使用的资料档案库名称不存在,则只要您具有资料档案库创建权限,就会为您创建资料档案库。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' } }
- 添加构建脚本更改以提取插件。
- 编辑
gradle/wrapper/gradle-wrapper.properties并更改distributionUrl的值以更新抓取版本:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip - 构建图像。
./gradlew clean jar dockerBuildImage
build.gradle 前面的添加将生成应用程序和 Dockerfile,并运行 Docker 构建以生成和标记容器的图像。
可以通过列出本地资料档案库中的 Docker 图像来验证此问题。从终端运行以下操作 :
docker images