建立 Docker 應用程式的 Java 影像
您可以使用多種方式將 Java 應用程式建置為 Docker 容器。不過,在此解決方案中,您將會使用抑音符號。
使用名為 gradle-docker-plugin
的抑制 Plug-in 來產生 Docker 檔案。
-
編輯要包括 Plug-in 的
build.gradle
檔案。在build.gradle
的個別區塊中,以及現有儲存區域和 Plug-In 的項目:- 新增要在 Plug-in 中提取的組建命令檔變更。
buildscript { repositories { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.bmuschko:gradle-docker-plugin:4.3.0' } }
- 新增
jcenter
根層次儲存區域 (Plug-in 相依性透過jcenter
分佈)。repositories { jcenter() }
- 套用 Plug-in。
apply plugin: 'application' apply plugin: 'com.bmuschko.docker-java-application' mainClassName = 'hello.Application'
- 新增 jar 作業,因為這會建立您將提取的 jar 檔案至 Docker 影像。
jar { enabled = true baseName = 'gs-accessing-data-rest' version = '0.1.0' }
- 設定讓抑制 Plug-in 擷取描述資料。這會指示 Plug-in 產生以
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' } }
- 新增要在 Plug-in 中提取的組建命令檔變更。
- 編輯
gradle/wrapper/gradle-wrapper.properties
並變更distributionUrl
的值以更新抑制版本:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
- 建立影像。
./gradlew clean jar dockerBuildImage
除了 build.gradle
之前的版本之外,也會產生應用程式和 Docker 檔,並執行 Docker 組建來產生和標記容器的影像。
您可以列出本機儲存區域上的 Docker 影像來進行驗證。請從終端機執行下列動作:
docker images