建立 Docker 應用程式的 Java 影像

您可以使用多種方式將 Java 應用程式建置為 Docker 容器。不過,在此解決方案中,您將會使用抑音符號。

使用名為 gradle-docker-plugin 的抑制 Plug-in 來產生 Docker 檔案。

  1. 編輯要包括 Plug-in 的 build.gradle 檔案。在 build.gradle 的個別區塊中,以及現有儲存區域和 Plug-In 的項目:

    1. 新增要在 Plug-in 中提取的組建命令檔變更。
      buildscript {
              repositories {
                  maven {
                      url 'https://plugins.gradle.org/m2/'
                  }
              }
              dependencies {
                 classpath 'com.bmuschko:gradle-docker-plugin:4.3.0'
              }
          }
      
    2. 新增 jcenter 根層次儲存區域 (Plug-in 相依性透過 jcenter 分佈)。
      
      repositories {
          jcenter()
      }
    3. 套用 Plug-in。
      apply plugin: 'application'
      apply plugin: 'com.bmuschko.docker-java-application'
      
      mainClassName = 'hello.Application'
    4. 新增 jar 作業,因為這會建立您將提取的 jar 檔案至 Docker 影像。
      
      jar {
          enabled = true
          baseName = 'gs-accessing-data-rest'
          version = '0.1.0'
      }
    5. 設定讓抑制 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'
          }
      }
      
  2. 編輯 gradle/wrapper/gradle-wrapper.properties 並變更 distributionUrl 的值以更新抑制版本:

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

  3. 建立影像。

    ./gradlew clean jar dockerBuildImage

除了 build.gradle 之前的版本之外,也會產生應用程式和 Docker 檔,並執行 Docker 組建來產生和標記容器的影像。

您可以列出本機儲存區域上的 Docker 影像來進行驗證。請從終端機執行下列動作:

docker images