https://github.com/rcaninhu/springboot3-demo
오늘은 도커 이미지를 만들기와 도커 허브에 이미지 등록하기를 해보겠습니다.
이렇게 할 수 있도록 ~
plugins {
id("org.springframework.boot") version "3.0.2"
id("io.spring.dependency-management") version "1.1.0"
id("org.owasp.dependencycheck") version "7.3.2"
id("com.bmuschko.docker-spring-boot-application") version "9.2.1" ## 추가
kotlin("jvm") version "1.8.0"
kotlin("plugin.spring") version "1.8.0"
kotlin("plugin.jpa") version "1.8.0"
}
이전에 하던 프로젝트에서
id("com.bmuschko.docker-spring-boot-application") version "9.2.1"
플러그인을 추가 합니다.
docker {
springBootApplication {
baseImage.set("gradle:jdk17")
ports.set(listOf())
images.set(listOf("inhu00/sample-springboot3-kotlin:0.0.1","inhu00/sample-springboot3-kotlin:latest"))
maintainer.set("rcaninhu@gmail.com")
}
registryCredentials{
url.set("https://index.docker.io/v1/") // 도커 허브
username.set("##도커허브 아이디##")
password.set("##도커허브 패스워드##")
}
}
springBootApplication {
baseImage.set("gradle:jdk17") ## 도커 이미지 생성할때 기본이 될 이미지
ports.set(listOf()) ## 오픈할 포트
images.set(listOf("inhu00/sample-springboot3-kotlin:0.0.1","......")) ## 생성할 도커 이미지이름과 버전
maintainer.set("rcaninhu@gmail.com") ## 이건 maintainer 정보인대 그다지 중요하진 않.
}
./gradlew dockerPushImage 또는 IDE에서 위에 처럼 dockerPushImage 를 클릭.
Starting Gradle Daemon...
Gradle Daemon started in 1 s 633 ms
> Task :compileKotlin UP-TO-DATE
> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :inspectClassesForKotlinIC UP-TO-DATE
> Task :dockerSyncBuildContext UP-TO-DATE
> Task :dockerCreateDockerfile UP-TO-DATE
> Task :dockerBuildImage
Building image using context '/Users/rcan/dev/kotlin/demo/build/docker'.
Using images 'inhu00/sample-springboot3-kotlin:0.0.1', 'inhu00/sample-springboot3-kotlin:latest'.
Step 1/7 : FROM gradle:jdk17
---> f5abda7a7f28
Step 2/7 : LABEL maintainer=rcaninhu@gmail.com
---> Using cache
---> 42f3c0844497
Step 3/7 : WORKDIR /app
---> Using cache
---> 83ec333e3b49
Step 4/7 : COPY libs libs/
---> Using cache
---> 410e7fa19bfd
Step 5/7 : COPY resources resources/
---> Using cache
---> 23e0998dcafd
Step 6/7 : COPY classes classes/
---> Using cache
---> 8d6ae77b826c
Step 7/7 : ENTRYPOINT ["java", "-cp", "/app/resources:/app/classes:/app/libs/*", "net.rcan.demo.DemoApplicationKt"]
---> Using cache
---> 656bdd95b1c6
Successfully built 656bdd95b1c6
Successfully tagged inhu00/sample-springboot3-kotlin:0.0.1
Successfully tagged inhu00/sample-springboot3-kotlin:latest
Created image with ID '656bdd95b1c6'.
> Task :dockerPushImage
Pushing image 'inhu00/sample-springboot3-kotlin:0.0.1' to https://index.docker.io/v1/.
Pushing image 'inhu00/sample-springboot3-kotlin:latest' to https://index.docker.io/v1/.
BUILD SUCCESSFUL in 41s
8 actionable tasks: 2 executed, 6 up-to-date
12:14:11 AM: 실행이 완료되었습니다 'dockerPushImage'.
참 쉽죠!?
주의 사항은 물론 개인정보 또는 패스워드 아이디 또는 기타등등 서버 접속 주소를 포함한걸 배포 하면 안되겠죠?
깃허브도 컨테이너 이미지 등록할수 있으려나 깃랩은 지원 하는대 음.. 블로그용 계정을 깃랩으로 갈아탈까.. 공개용.. 그룹 만들고.. 고민.!
'개발 > 개발이야기' 카테고리의 다른 글
Springboot JPA kotlin 6. 언젠가부터 에러가 나기 시작했다... 라이브러리 업데이트! 업데이트 이후 또 에러가 났다!! (0) | 2023.03.16 |
---|---|
Github - Pages를 이용한 간단한 게시판 만들기 (0) | 2023.03.09 |
Springboot JPA kotlin 4. 라이브러리 체크 OWASP 활용 (0) | 2023.02.25 |
Springboot JPA kotlin 3. swagger / 스웨거 (0) | 2023.02.23 |
Springboot JPA kotlin 2. 글 수정, 글 삭제, 글 상세 (0) | 2023.02.11 |
댓글