Docker 애플리케이션에 대한 Java 이미지 생성
여러 방법으로 Java 애플리케이션을 Docker 컨테이너로 빌드할 수 있습니다. 하지만 이 솔루션에서는 그라데이션을 사용합니다.
Dockerfile을 생성하려면 gradle-docker-plugin
이라는 gradle 플러그인을 사용하십시오.
-
플러그인을 포함하도록
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
이미지를 기반으로 하는 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' } }
- 플러그인에서 가져올 빌드 스크립트 변경사항을 추가합니다.
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