Docker 애플리케이션에 대한 Java 이미지 생성

여러 방법으로 Java 애플리케이션을 Docker 컨테이너로 빌드할 수 있습니다. 하지만 이 솔루션에서는 그라데이션을 사용합니다.

Dockerfile을 생성하려면 gradle-docker-plugin 이라는 gradle 플러그인을 사용하십시오.

  1. 플러그인을 포함하도록 build.gradle 파일을 편집하십시오. 기존 저장소 및 플러그인의 항목과 함께 build.gradle 블록에서 다음을 수행합니다.

    1. 플러그인에서 가져올 빌드 스크립트 변경사항을 추가합니다.
      buildscript {
              repositories {
                  maven {
                      url 'https://plugins.gradle.org/m2/'
                  }
              }
              dependencies {
                 classpath 'com.bmuschko:gradle-docker-plugin:4.3.0'
              }
          }
      
    2. jcenter 루트 레벨 저장소를 추가합니다(플러그인 종속성이 jcenter를 통해 배포됨).
      
      repositories {
          jcenter()
      }
    3. 플러그인을 적용합니다.
      apply plugin: 'application'
      apply plugin: 'com.bmuschko.docker-java-application'
      
      mainClassName = 'hello.Application'
    4. Jar 작업을 추가합니다. 그러면 Docker 이미지로 가져올 jar 파일이 생성됩니다.
      
      jar {
          enabled = true
          baseName = 'gs-accessing-data-rest'
          version = '0.1.0'
      }
    5. 메타데이터를 검색하기 위해 gradle 플러그인을 구성하십시오. 이 항목에서는 플러그인이 openjdk:8 이미지를 기반으로 하는 Dockerfile을 생성하고, 컨테이너에 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 더하기는 애플리케이션과 Dockerfile을 생성하고 Docker 빌드를 실행하여 컨테이너에 대한 이미지를 생성하고 태그를 지정합니다.

로컬 저장소에 Docker 이미지를 나열하여 이를 확인할 수 있습니다. 터미널에서 다음을 실행합니다.

docker images