เจเฉฐเจเฉเจจเจฐ เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจธเจฆเฉ เจธเจพเจฐเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจ เจคเฉ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจจเจพเจฒ เจชเฉเจ เจเจฐเจจ เจ เจคเฉ เจซเจฟเจฐ เจเจนเจจเจพเจ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฆเฉ เจคเจฐเจเฉเจนเฉ เจธเจพเจงเจจ เจฌเจฃ เจเจ เจนเจจเฅค
เจเจน เจฒเฉเจ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐเจพเจเจเจผ เจเจฐเจจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจคเจฐเฉเจเจฟเจเจ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจฆเจพ เจนเฉ:
- เจเฉฑเจ เจกเฉเจเจฐ เจซเจพเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ,
- เจเจฒเจพเจเจก-เจจเฉเจเจฟเจต เจฌเจฟเจฒเจกเจชเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฐเฉเจค เจคเฉเจ เจเฉฑเจ OCI เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ,
- เจ เจคเฉ เจฎเจฒเจเฉ-เจเฉเจ เจฐ เจเฉเจฒเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ JAR เจฆเฉ เจนเจฟเฉฑเจธเจฟเจเจ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจฒเฉเจ เจฐเจพเจ เจตเจฟเฉฑเจ เจตเฉฑเจ เจเจฐเจเฉ เจฐเจจ-เจเจพเจเจฎ เจเจฟเฉฑเจคเจฐ เจ เจจเฉเจเฉเจฒเจคเจพเฅค
เจเฉเจก เจเจฆเจพเจนเจฐเจจ
เจเจน เจฒเฉเจ เจตเจฐเจเจฟเฉฐเจ เจเฉเจก เจเจฆเจพเจนเจฐเจจ เจฆเฉ เจจเจพเจฒ เจนเฉ
เจเฉฐเจเฉเจจเจฐ เจธเจผเจฌเจฆเจพเจตเจฒเฉ
เจ เจธเฉเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจ เจเฉฐเจเฉเจจเจฐ เจธเจผเจฌเจฆเจพเจตเจฒเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉเจเจค เจเจฐเจพเจเจเฉ:
- เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ: เจเฉฑเจ เจเจพเจธ เจซเจพเจฐเจฎเฉเจ เจฆเฉ เจซเจพเจเจฒเฅค เจ เจธเฉเจ เจฌเจฟเจฒเจก เจเฉเจฒ เจเจฒเจพ เจเฉ เจเจชเจฃเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฌเจฆเจฒ เจฆเฉเจตเจพเจเจเฉเฅค
- เจเฉฐเจเฉเจจเจฐ: เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจเฉฑเจ เจเฉฑเจฒเจฃเจฏเฉเจ เจเจฆเจพเจนเจฐเจฃเฅค
- เจเฉฐเจเฉเจจเจฐ เจเฉฐเจเจฃ: เจเฉฐเจเฉเจจเจฐ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจกเฉเจฎเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฅค
- เจเฉฐเจเฉเจจเจฐ เจนเฉเจธเจ: เจนเฉเจธเจ เจเฉฐเจชเจฟเจเจเจฐ เจเจฟเจธ 'เจคเฉ เจเฉฐเจเฉเจจเจฐ เจเฉฐเจเจฃ เจเฉฑเจฒเจฆเจพ เจนเฉเฅค
- เจเฉฐเจเฉเจจเจฐ เจฐเจเจฟเจธเจเจฐเฉ: เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจ เจคเฉ เจตเฉฐเจกเจฃ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจฃ เจตเจพเจฒเจพ เจเจฎ เจธเจฅเจพเจจเฅค
- OCI เจฎเจฟเจเจฐ:
เจเจชเจจ เจเฉฐเจเฉเจจเจฐ เจเจจเฉเจธเจผเฉเจเจเจฟเจต (OCI) เจฒเฉเจจเจเจธ เจซเจพเจเจเจกเฉเจธเจผเจจ เจฆเฉ เจ เฉฐเจฆเจฐ เจฌเจฃเจฟเจ เจเฉฑเจ เจนเจฒเจเจพ, เจเฉเฉฑเจฒเฉเจนเจพ เจเจตเจฐเจจเฉเจเจธ เจขเจพเจเจเจพ เจนเฉเฅค OCI เจเจฟเฉฑเจคเจฐ เจจเจฟเจฐเจงเจพเจฐเจจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจ เจคเฉ เจฐเจจเจเจพเจเจฎ เจซเจพเจฐเจฎเฉเจเจพเจ เจฒเจ เจเจฆเจฏเฉเจ เจฆเฉ เจฎเจฟเจเจฐเจพเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจฆเจพ เจนเฉ เจคเจพเจ เจเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจ เจเจพ เจธเจเฉ เจเจฟ เจธเจพเจฐเฉ เจเฉฐเจเฉเจจเจฐ เจเฉฐเจเจฃ เจเจฟเจธเฉ เจตเฉ เจฌเจฟเจฒเจก เจเฉเจฒ เจฆเฉเจเจฐเจพ เจฌเจฃเจพเจ เจเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเจฒเจพ เจธเจเจฆเฉ เจนเจจเฅค
เจเจฟเจธเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐเจพเจเจเจผ เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจเจชเจฃเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฒเจชเฉเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเฉฑเจ เจธเจผเฉเจ เจฐเจก เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจพเจเฅค เจเฉฐเจเฉเจจเจฐ เจฐเจจเจเจพเจเจฎ เจเจธ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฐเจเจฟเจธเจเจฐเฉ เจคเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเจพ เจนเฉ, เจเจธเจจเฉเฉฐ เจ เจจเจชเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจเจธเจฆเฉ เจ เฉฐเจฆเจฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฒเจพเจเจเจฆเจพ เจนเฉเฅค
เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจฆเจพ เจธเฉฐเจธเจเจฐเจฃ 2.3 OCI เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจชเจฒเฉฑเจเจเจจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฐเจตเจพเจเจคเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจฌเจฃเจพเจเจฃเจพ
เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฒเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ เจกเฉเจเจฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเจ เจนเจฆเจพเจเจคเจพเจ เจเฉเฉ เจเฉ เจฌเจนเฉเจค เจเจธเจพเจจ เจนเฉเฅค
เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจซเจพเจเจฒ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ, เจกเฉเจเจฐ เจซเจพเจเจฒ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ, เจเจผเจฐเฉเจฐเฉ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ เจฌเฉเจธ JRE เจเจฟเฉฑเจคเจฐ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจซเจพเจเจฒ เจฆเฉ เจจเจเจฒ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเจฒเฉ เจธเจพเจกเฉ เจธเจชเจฐเจฟเฉฐเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจจ เจเจฐเฉเจ web
, lombok
ะธ actuator
. เจ
เจธเฉเจ เจเฉฑเจ API เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฐเจพเจฎ เจเฉฐเจเจฐเฉเจฒเจฐ เจตเฉ เจเฉเฉ เจฐเจนเฉ เจนเจพเจ GET
เจขเฉฐเจ.
เจเฉฑเจ เจกเฉเจเจฐเจซเจพเจเจฒ เจฌเจฃเจพเจเจฃเจพ
เจ
เจธเฉเจ เจซเจฟเจฐ เจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉเฉ เจเฉ เจเฉฐเจเฉเจจเจฐเจพเจเจเจผ เจเจฐเจฆเฉ เจนเจพเจ Dockerfile
:
FROM adoptopenjdk:11-jre-hotspot
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/application.jar"]
เจธเจพเจกเฉ เจกเฉเจเจฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉฑเจ เจ
เจงเจพเจฐ เจเจฟเฉฑเจคเจฐ เจธเจผเจพเจฎเจฒ เจนเฉ adoptopenjdk
, เจเจฟเจธ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจ
เจธเฉเจ เจเจชเจฃเฉ JAR เจซเจพเจเจฒ เจจเฉเฉฐ เจเจพเจชเฉ เจเจฐเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจซเจฟเจฐ เจชเฉเจฐเจ เจเฉเจฒเฉเจนเจฆเฉ เจนเจพเจ, 8080
เจเฉ เจฌเฉเจจเจคเฉเจเจ เจธเฉเจฃเฉเจเจพเฅค
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃเจพ
เจชเจนเจฟเจฒเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ Maven เจเจพเจ Gradle เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเฉฑเจฅเฉ เจ เจธเฉเจ เจฎเจพเจตเฉเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ:
mvn clean package
เจเจน เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเฉฑเจ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจซเจพเจเจฒ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจกเฉเจเจฐ เจเฉฐเจเจฃ 'เจคเฉ เจเฉฑเจฒเจฃ เจฒเจ เจเจธ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจจเฉเฉฐ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจ
เจธเฉเจ เจซเจฟเจฐ เจเจฎเจพเจเจก เจเจฒเจพ เจเฉ เจเจธ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจซเจพเจเจฒ เจจเฉเฉฐ เจกเฉเจเจฐ เจเจฎเฉเจ เจตเจฟเฉฑเจ เจชเจพเจเจเจฆเฉ เจนเจพเจ docker build
เจชเจนเจฟเจฒเจพเจ เจฌเจฃเจพเจ เจเจ เจกเฉเจเจฐเจซเจพเจเจฒ เจตเจพเจฒเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฐเฉเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉเจ:
docker build -t usersignup:v1 .
เจ เจธเฉเจ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจเจชเจฃเจพ เจเจฟเฉฑเจคเจฐ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ:
docker images
เจเจชเจฐเฉเจเจค เจเจฎเจพเจเจก เจฆเฉ เจเจเจเจชเฉเฉฑเจ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเจฟเฉฑเจคเจฐ เจธเจผเจพเจฎเจฒ เจนเฉ usersignup
เจ
เจงเจพเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจจเจพเจฒ, adoptopenjdk
เจธเจพเจกเฉ เจกเฉเจเจฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
REPOSITORY TAG SIZE
usersignup v1 249MB
adoptopenjdk 11-jre-hotspot 229MB
เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจ เฉฐเจฆเจฐ เจชเจฐเจคเจพเจ เจฆเฉเจเฉ
เจเจ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจ
เฉฐเจฆเจฐ เจฒเฉเจ
เจฐเจพเจ เจฆเฉ เจธเจเฉเจ เจจเฉเฉฐ เจตเฉเจเฉเจเฅค เจ
เจธเฉเจ เจตเจฐเจคเจพเจเจเฉ
dive usersignup:v1
เจเฉฑเจฅเฉ เจกเจพเจเจต เจเจฎเจพเจเจก เจคเฉเจ เจเจเจเจชเฉเฉฑเจ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจนเฉ:
เจเจฟเจตเฉเจ เจเจฟ เจ เจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจ เจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจเจเจพเจฐ เจฆเจพ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเจฟเฉฑเจธเจพ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค เจ เจธเฉเจ เจเจชเจฃเฉ เจเจชเจเฉเจฎเจพเจเจเจผเฉเจธเจผเจจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจญเจพเจเจพเจ เจตเจฟเฉฑเจ เจเจธ เจฒเฉเจ เจฐ เจฆเฉ เจเจเจพเจฐ เจจเฉเฉฐ เจเจเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจเฅค
เจฌเจฟเจฒเจกเจชเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจเจฒเจพเจเจก เจฌเจฟเจฒเจก เจชเฉเจเฉเจเจพเจ เจฆเจพ เจซเจพเจเจฆเจพ
เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจฌเจฟเจฒเจกเจชเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฎเฉเฉฑเจ เจฒเจพเจญเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจเจน เจนเฉ เจเจฟ เจเจฟเฉฑเจคเจฐ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจเฉเจเจฆเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ (เจฌเจฟเจฒเจกเจฐ) เจ เจคเฉ เจฌเจฟเจฒเจกเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจพเจฐเฉเจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฒเจ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจฌเจฟเจฒเจก เจชเฉเจเฉเจเจพเจ เจจเฉเฉฐ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจจเจพเจฒ เจฎเจเจผเจฌเฉเจคเฉ เจจเจพเจฒ เจเฉเฉเจฟเจ เจเจฟเจ เจธเฉเฅค เจเจฒเจพเจเจก-เจจเฉเจเจฟเจต เจฌเจฟเจฒเจกเจชเฉเจเจธ OCI เจเจฟเฉฑเจคเจฐ เจซเจพเจฐเจฎเฉเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจเฉ เจชเจฒเฉเจเจซเจพเจฐเจฎเจพเจ เจตเจฟเฉฑเจ เจฎเจพเจจเจเฉเจเจฐเจจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเจจ, เจเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจกเฉเจเจฐ เจเฉฐเจเจฃ เจฆเฉเจเจฐเจพ เจเจฒเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ
เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจชเจฒเฉฑเจเจเจจ เจฌเจฟเจฒเจกเจชเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฐเฉเจค เจคเฉเจ OCI เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจ เจเจ เจนเจจ bootBuildImage
เจเจพเจฐเจ (เจเฉเจฐเฉเจกเจฒ) เจเจพเจ spring-boot:build-image
เจเจพเจฐเจเจฟเจ (เจฎเจพเจตเฉเจจ) เจ
เจคเฉ เจฒเฉเจเจฒ เจกเฉเจเจฐ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจเฅค
เจ
เจธเฉเจ เจตเจฟเฉฑเจ เจจเจพเจฎ เจฆเฉ เจเฉ เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ เจจเฉเฉฐ เจงเฉฑเจเจฃ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจจเจพเจฎ เจจเฉเฉฐ เจ
เจจเฉเจเฉเจฒเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจ image tag
:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<name>docker.io/pratikdas/${project.artifactId}:v1</name>
</image>
</configuration>
</plugin>
เจเจ เจเจธเจจเฉเฉฐ เจเจฐเจจ เจฒเจ เจฎเจพเจตเฉเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเจ build-image
เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจ
เจคเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉเจเฉ. เจ
เจธเฉเจ เจเจธ เจธเจฎเฉเจ เจเฉเจ เจตเฉ เจกเฉเจเจฐเจซเจพเจเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจเฅค
mvn spring-boot:build-image
เจจเจคเฉเจเจพ เจเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉเจตเฉเจเจพ:
[INFO] --- spring-boot-maven-plugin:2.3.3.RELEASE:build-image (default-cli) @ usersignup ---
[INFO] Building image 'docker.io/pratikdas/usersignup:v1'
[INFO]
[INFO] > Pulling builder image 'gcr.io/paketo-buildpacks/builder:base-platform-api-0.3' 0%
.
.
.. [creator] Adding label 'org.springframework.boot.version'
.. [creator] *** Images (c311fe74ec73):
.. [creator] docker.io/pratikdas/usersignup:v1
[INFO]
[INFO] Successfully built image 'docker.io/pratikdas/usersignup:v1'
เจเจเจเจชเฉเฉฑเจ เจคเฉเจ เจ
เจธเฉเจ เจเจน เจฆเฉเจเจฆเฉ เจนเจพเจ paketo Cloud-Native buildpack
เจเฉฑเจ เจเจพเจฐเจเจธเจผเฉเจฒ OCI เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจชเจนเจฟเจฒเจพเจ เจตเจพเจเจ, เจ
เจธเฉเจ เจเจฎเจพเจเจก เจเจฒเจพ เจเฉ เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจเฉเจ เจธเฉเจเฉเจฌเฉฑเจง เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ:
docker images
เจธเจฟเฉฑเจเจพ:
REPOSITORY SIZE
paketobuildpacks/run 84.3MB
gcr.io/paketo-buildpacks/builder 652MB
pratikdas/usersignup 257MB
Jib เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจเจฟเจฌ เจเฉเจเจฒ เจฆเจพ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจตเจพเจฒเจพ เจชเจฒเฉฑเจเจเจจ เจนเฉ เจเฉ เจธเจฐเฉเจค เจเฉเจก เจคเฉเจ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจตเจฟเจเจฒเจชเจฟเจ เจคเจฐเฉเจเจพ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจ
เจจเฉเจเฉเจฒเจฟเจค jib-maven-plugin
pom.xml เจตเจฟเฉฑเจ:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
เจ เฉฑเจเฉ, เจ เจธเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ Maven เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ Jib เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจเฅค เจชเจนเจฟเจฒเจพเจ เจตเจพเจเจ, เจ เจธเฉเจ เจเฉฑเจฅเฉ เจเฉเจ เจตเฉ เจกเฉเจเจฐ เจซเจพเจเจฒเจพเจ เจจเจนเฉเจ เจตเจฐเจค เจฐเจนเฉ เจนเจพเจ:
mvn compile jib:build -Dimage=<docker registry name>/usersignup:v1
เจเจชเจฐเฉเจเจค Maven เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจเจเจชเฉเฉฑเจ เจฎเจฟเจฒเจฆเฉ เจนเฉ:
[INFO] Containerizing application to pratikdas/usersignup:v1...
.
.
[INFO] Container entrypoint set to [java, -cp, /app/resources:/app/classes:/app/libs/*, io.pratik.users.UsersignupApplication]
[INFO]
[INFO] Built and pushed image as pratikdas/usersignup:v1
[INFO] Executing tasks:
[INFO] [==============================] 100.0% complete
เจเจเจเจชเฉเฉฑเจ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ เจ เจคเฉ เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉเฅค
เจ เจจเฉเจเฉเจฒเจฟเจค เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจชเฉเจฐเฉเจฐเจฃเจพ เจ เจคเฉ เจคเจเจจเฉเจเจพเจ
เจธเจพเจกเฉ เจเฉเจฒ เจ เจจเฉเจเฉเจฒเจจ เจฆเฉ เจฆเฉ เจฎเฉเฉฑเจ เจเจพเจฐเจจ เจนเจจ:
- เจเจคเจชเจพเจฆเจเจคเจพ: เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฐเจเฉเจธเจเจฐเฉเจธเจผเจจ เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ, เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจฟเฉฑเจคเจฐ เจฐเจเจฟเจธเจเจฐเฉ เจคเฉเจ เจเฉฐเจเฉเจจเจฐ เจเฉฐเจเจฃ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจตเจพเจฒเฉ เจนเฉเจธเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจฏเฉเจเจจเจพเจฌเฉฐเจฆเฉ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจฐเจเจฟเจธเจเจฐเฉ เจคเฉเจ เจตเฉฑเจกเฉ เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเจฟเฉฑเจเจฃ เจฆเฉ เจจเจคเฉเจเฉ เจตเจเฉเจ เจเฉฐเจเฉเจจเจฐ เจเจฐเจเฉเจธเจเฉเจฐเฉเจธเจผเจจ เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจตเจฟเฉฑเจ เจฒเฉฐเจฎเจพ เจธเจฎเจพเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจธเฉเจเจ เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจตเจฟเฉฑเจ เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจฆเจพ เจจเจฟเจฐเจฎเจพเจฃ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
- เจธเฉเจฐเฉฑเจเจฟเจ เจจเฉเฉฐ: เจตเฉฑเจกเฉ เจเจฟเฉฑเจคเจฐเจพเจ เจตเจฟเฉฑเจ เจเจฎเจเจผเฉเจฐเฉเจเจ เจฒเจ เจเฉฑเจ เจตเฉฑเจกเจพ เจเฉเจคเจฐ เจตเฉ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฒเฉเจ เจฐเจพเจ เจฆเจพ เจเฉฑเจ เจธเจเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐ เจเฉฑเจ เจธเจพเจกเฉ เจกเฉเจเจฐเจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉฑเจ เจนเจฆเจพเจเจค เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉเฅค เจนเจฐเฉเจ เจฒเฉเจ เจฐ เจ เฉฐเจกเจฐเจฒเจพเจเฉฐเจ เจฒเฉเจ เจฐ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเจพ เจเฉฑเจ เจกเฉเจฒเจเจพ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเฉเฅค เจเจฆเฉเจ เจ เจธเฉเจ เจฐเจเจฟเจธเจเจฐเฉ เจคเฉเจ เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจฟเฉฑเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจเจน เจฒเฉเจ เจฐเจพเจ เจตเจฟเฉฑเจ เจเจฟเฉฑเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจนเฉเจธเจ 'เจคเฉ เจเฉเจธเจผ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
เจฌเจธเฉฐเจค เจฌเฉเจ เจตเจฐเจคเจฆเจพ เจนเฉ
เจ เจจเฉเจเฉเจฒเจจ เจซเจพเจฐเจฎเฉเจฒเจพ เจธเจชเจฐเจฟเฉฐเจ เจซเจฐเฉเจฎเจตเจฐเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจคเฉเจ เจตเฉฑเจเจฐเฉ เจชเฉฑเจงเจฐ 'เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจ เจฒเฉฑเจ เจเจฐเจจ เจฆเฉ เจฆเฉเจเจฒเฉ เจเฉเจเจฆเจฐเจฟเจค เจนเฉเฅค
เจจเจฟเจฐเจญเจฐเจคเจพ เจชเจฐเจค, เจเฉ เจฎเฉเจเฉ JAR เจซเจพเจเจฒ เจฆเจพ เจตเฉฑเจกเจพ เจนเจฟเฉฑเจธเจพ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ, เจธเจฟเจฐเจซ เจเฉฑเจ เจตเจพเจฐ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ เจคเฉ เจนเฉเจธเจ เจธเจฟเจธเจเจฎ เจคเฉ เจเฉเจธเจผ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจ เจชเจกเฉเจเจธ เจ เจคเฉ เจเฉฐเจเฉเจจเจฐ เจธเจผเจกเจฟเจเจฒเจฟเฉฐเจ เจฆเฉเจฐเจพเจจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจธเจฟเจฐเจซ เจเฉฑเจ เจชเจคเจฒเฉ เจชเจฐเจค เจเจฟเฉฑเจเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจฟเจตเฉเจ เจเจฟ เจเจธ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจเจ เจเจฟเจ เจนเฉ:
เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจญเจพเจเจพเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจฆเฉเจเจพเจเจเฉ เจเจฟ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเจนเจจเจพเจ เจ เจจเฉเจเฉเจฒเจฟเจค เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจฌเจฃเจพเจเจ เจเจพเจตเฉเฅค
เจฌเจฟเจฒเจกเจชเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเฉฑเจ เจ เจจเฉเจเฉเจฒเจฟเจค เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ 2.3 เจเฉฑเจ เจฎเฉเจเฉ JAR เจซเจพเจเจฒ เจฆเฉ เจนเจฟเฉฑเจธเจฟเจเจ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจฒเฉเจ เจฐเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจข เจเฉ เจฒเฉเจ เจฐเจฟเฉฐเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจฒเฉเจ เจฐเจฟเฉฐเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจกเจฟเจซเฉเจฒเจ เจคเฉเจฐ 'เจคเฉ เจ เจธเจฎเจฐเฉฑเจฅ เจนเฉเฉฐเจฆเฉ เจนเฉ เจ เจคเฉ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจฎเฉเจตเฉเจจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจธเจฎเจฐเฉฑเจฅ เจเฉเจคเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layers>
<enabled>true</enabled>
</layers>
</configuration>
</plugin>
เจ เจธเฉเจ เจเจธ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจชเจฃเฉ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจฌเจฟเจฒเจกเจชเฉเจ เจจเจพเจฒ เจ เจคเฉ เจซเจฟเจฐ เจกเฉเจเจฐ เจจเจพเจฒ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจญเจพเจเจพเจ เจตเจฟเฉฑเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจฐเจพเจเจเฉเฅค
เจเจฒเฉ เจฒเจพเจเจ เจเจฐเฉเจ build-image
เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจฎเจพเจตเฉเจจ เจเฉเจเจพ:
mvn spring-boot:build-image
เจเฉเจเจฐ เจ เจธเฉเจ เจจเจคเฉเจเฉ เจตเจพเจฒเฉ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจฒเฉเจ เจฐเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฃ เจฒเจ เจกเจพเจเจต เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ เจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจ เจฐ (เจฒเจพเจฒ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ) เจเจฟเจฒเฉเจฌเจพเจเจ เจฐเฉเจเจ เจตเจฟเฉฑเจ เจเจธ เจจเจพเจฒเฉเจ เจฌเจนเฉเจค เจเฉเจเฉ เจนเฉ เจเฉ เจ เจธเฉเจ เจซเฉเจ JAR เจซเจพเจฐเจฎเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจนเฉ:
เจกเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจเฉฑเจ เจ เจจเฉเจเฉเจฒเจฟเจค เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจเฉฑเจ Maven เจเจพเจ Gradle เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฌเจเจพเจ, เจ เจธเฉเจ เจเฉฑเจ เจกเฉเจเจฐ เจซเจพเจเจฒ เจจเจพเจฒ เจเฉฑเจ เจฒเฉเจ เจฐเจก เจกเฉเจเจฐ JAR เจเจฟเฉฑเจคเจฐ เจตเฉ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเจพเจเฅค
เจเจฆเฉเจ เจ เจธเฉเจ เจกเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจฒเฉเจ เจฐเจพเจ เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจ เจ เจคเฉ เจ เฉฐเจคเจฎ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจเจพเจชเฉ เจเจฐเจจ เจฒเจ เจฆเฉ เจตเจพเจงเฉ เจเจฆเจฎ เจเฉเฉฑเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจฎเฉเจตเฉเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจพเจฒ เจฒเฉเจ เจฐเจฟเฉฐเจ เจธเจฎเจฐเจฅเจฟเจค เจฌเจฃเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจจเจคเฉเจเฉ เจตเจเฉเจ JAR เจฆเฉ เจธเจฎเฉฑเจเจฐเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ:
META-INF/
.
BOOT-INF/lib/
.
BOOT-INF/lib/spring-boot-jarmode-layertools-2.3.3.RELEASE.jar
BOOT-INF/classpath.idx
BOOT-INF/layers.idx
เจเจเจเจชเฉเฉฑเจ เจเฉฑเจ เจตเจพเจงเฉ JAR เจจเจพเจฎเจ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ spring-boot-jarmode-layertools
ะธ layersfle.idx
เจซเจพเจเจฒเฅค เจเจน เจตเจพเจงเฉ JAR เจซเจพเจเจฒ เจฒเฉเจ
เจฐเจก เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจ
เจเจฒเฉ เจญเจพเจ เจตเจฟเฉฑเจ เจฆเฉฑเจธเจฟเจ เจเจฟเจ เจนเฉเฅค
เจตเจฟเจ เจเจคเฉเจเจค เจฒเฉเจ เจฐเจพเจ 'เจคเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจเจพ
เจธเจพเจกเฉ เจฒเฉเจ
เจฐเจก JAR เจคเฉเจ เจฒเฉเจ
เจฐเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฃ เจ
เจคเฉ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจธเจฟเจธเจเจฎ เจชเฉเจฐเจพเจชเจฐเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ -Djarmode=layertools
เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ spring-boot-jarmode-layertools
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจฌเจเจพเจ JAR:
java -Djarmode=layertools -jar target/usersignup-0.0.1-SNAPSHOT.jar
เจเจธ เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจจเจพเจฒ เจเจชเจฒเจฌเจง เจเจฎเจพเจเจก เจตเจฟเจเจฒเจชเจพเจ เจตเจพเจฒเฉ เจเจเจเจชเฉเฉฑเจ เจชเฉเจฆเจพ เจนเฉเฉฐเจฆเฉ เจนเฉ:
Usage:
java -Djarmode=layertools -jar usersignup-0.0.1-SNAPSHOT.jar
Available commands:
list List layers from the jar that can be extracted
extract Extracts layers from the jar for image creation
help Help about any command
เจเจเจเจชเฉเฉฑเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ list
, extract
ะธ help
ั help
เจกเจฟเจซเจพเจฒเจ เจฌเจฃเฉเฅค เจฆเฉ เจจเจพเจฒ เจเจฎเจพเจเจก เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ list
เจตเจฟเจเจฒเจช:
java -Djarmode=layertools -jar target/usersignup-0.0.1-SNAPSHOT.jar list
dependencies
spring-boot-loader
snapshot-dependencies
application
เจ เจธเฉเจ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจฆเฉ เจเฉฑเจ เจธเฉเจเฉ เจตเฉเจเจฆเฉ เจนเจพเจ เจเฉ เจฒเฉเจ เจฐเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉเฉเฉเจเจ เจเจพ เจธเจเจฆเฉเจเจ เจนเจจเฅค
เจชเฉเจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจชเจฐเจคเจพเจ:
เจชเจฐเจค เจฆเจพ เจจเจพเจฎ
เจธเจฎเฉฑเจเจฐเฉ
dependencies
เจเฉเจ เจตเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจเจฟเจธ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ SNAPSHOT เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจนเฉ
spring-boot-loader
JAR เจฒเฉเจกเจฐ เจเจฒเจพเจธเจพเจ
snapshot-dependencies
เจเฉเจ เจตเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจเจฟเจธเจฆเจพ เจธเฉฐเจธเจเจฐเจฃ SNAPSHOT เจฐเฉฑเจเจฆเจพ เจนเฉ
application
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฒเจพเจธเจพเจ เจ เจคเฉ เจธเจฐเฉเจค
เจชเจฐเจคเจพเจ เจตเจฟเฉฑเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ layers.idx
เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจเฉเฉเจฟเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ. เจเจน เจชเจฐเจคเจพเจ เจชเจนเจฟเจฒเฉ เจชเฉเจฐเจพเจชเจคเฉ เจคเฉเจ เจฌเจพเจ
เจฆ เจนเฉเจธเจ เจตเจฟเฉฑเจ เจเฉเจธเจผ เจเฉเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ เจเจฟเจเจเจเจฟ เจเจน เจฌเจฆเจฒเจฆเฉเจเจ เจจเจนเฉเจ เจนเจจเฅค เจธเจฟเจฐเจซเจผ เจ
เฉฑเจชเจกเฉเจ เจเฉเจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเฉเจ
เจฐ เจจเฉเฉฐ เจนเฉเจธเจ 'เจคเฉ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจเฉ เจเจฟ เจเจเฉ เจเจเจพเจฐ เจฆเฉ เจเจพเจฐเจจ เจคเฉเจเจผ เจนเฉเฉฐเจฆเจพ เจนเฉ .
เจตเฉฑเจเจฐเฉเจเจ เจชเจฐเจคเจพเจ เจตเจฟเฉฑเจ เจเจเจธเจเจฐเฉเจเจ เจเฉเจคเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ
เจ
เจธเฉเจ เจเฉฑเจ เจตเจฟเจงเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจ
เฉฐเจคเจฟเจฎ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฆเฉ เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฌเจฃเจพเจตเจพเจเจเฉ
เจเจ เจฎเจฒเจเฉ-เจธเจเฉเจ เจฌเจฟเจฒเจก เจฒเจ เจธเจพเจกเฉ เจกเฉเจเจฐเจซเจพเจเจฒ เจจเฉเฉฐ เจธเฉฐเจธเจผเฉเจงเจฟเจค เจเจฐเฉเจ:
# the first stage of our build will extract the layers
FROM adoptopenjdk:14-jre-hotspot as builder
WORKDIR application
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
# the second stage of our build will copy the extracted layers
FROM adoptopenjdk:14-jre-hotspot
WORKDIR application
COPY --from=builder application/dependencies/ ./
COPY --from=builder application/spring-boot-loader/ ./
COPY --from=builder application/snapshot-dependencies/ ./
COPY --from=builder application/application/ ./
ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]
เจ
เจธเฉเจ เจเจธ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจฆเฉ เจนเจพเจ - Dockerfile2
.
เจ เจธเฉเจ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ:
docker build -f Dockerfile2 -t usersignup:v1 .
เจเจธ เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจธเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจเจเจชเฉเฉฑเจ เจฎเจฟเจฒเจฆเฉ เจนเฉ:
Sending build context to Docker daemon 20.41MB
Step 1/12 : FROM adoptopenjdk:14-jre-hotspot as builder
14-jre-hotspot: Pulling from library/adoptopenjdk
.
.
Successfully built a9ebf6970841
Successfully tagged userssignup:v1
เจ เจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ ID เจจเจพเจฒ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ เจ เจคเฉ เจซเจฟเจฐ เจเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ.
เจ เฉฐเจค เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจ เฉฐเจฆเจฐ เจฒเฉเจ เจฐเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจชเจนเจฟเจฒเจพเจ เจตเจพเจเจ เจกเจพเจเจต เจเจฎเจพเจเจก เจเจฒเจพเจเจเจฆเฉ เจนเจพเจเฅค เจ เจธเฉเจ เจกเจพเจเจต เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจจเจชเฉเจ เจตเจเฉเจ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ ID เจเจพเจ เจเฉเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ:
dive userssignup:v1
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจเจเจเจชเฉเฉฑเจ เจตเจฟเฉฑเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจพเจฒเฉ เจฒเฉเจ เจฐ เจนเฉเจฃ เจธเจฟเจฐเจซ 11 KB เจนเฉ, เจ เจคเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจตเฉฑเจเจฐเฉเจเจ เจฒเฉเจ เจฐเจพเจ เจตเจฟเฉฑเจ เจเฉเจธเจผ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจตเจฟเจ เจเจคเฉเจเจค เจฒเฉเจ เจฐเจพเจ 'เจคเฉ เจ เฉฐเจฆเจฐเฉเจจเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจเจพ
เจ
เจธเฉเจ เจเจชเจฃเฉ เจเจฟเจธเฉ เจตเฉ เจเจธเจเจฎ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจเฉเจ
เจฐ เจตเจฟเฉฑเจ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉเจ
เจฐ เจฆเฉ เจเจเจพเจฐ เจจเฉเฉฐ เจนเฉเจฐ เจเจเจพ เจธเจเจฆเฉ เจนเจพเจ เจจเจพ เจเจฟ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจจเจพเจฒ เจชเฉเจเฉเจ เจตเจฟเฉฑเจ เจเฉเจธเจผเจฟเจค เจเจฐเจเฉ yml
เจจเจพเจฎ เจฆเฉ เจธเจฎเจพเจจ เจซเจพเจเจฒ layers.idx
:
- "dependencies":
- "BOOT-INF/lib/"
- "spring-boot-loader":
- "org/"
- "snapshot-dependencies":
- "custom-dependencies":
- "io/myorg/"
- "application":
- "BOOT-INF/classes/"
- "BOOT-INF/classpath.idx"
- "BOOT-INF/layers.idx"
- "META-INF/"
เจเจธ เจซเจพเจเจฒ เจตเจฟเฉฑเจ layers.idx
เจ
เจธเฉเจ เจจเจพเจฎเจ เจเจธเจเจฎ เจจเจฟเจฐเจญเจฐเจคเจพ เจเฉเฉเฉ เจนเฉ, io.myorg
เจเฉฑเจ เจธเจผเฉเจ
เจฐเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจฎเฉเฉ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจธเฉฐเจเจ เจจ เจจเจฟเจฐเจญเจฐเจคเจพ เจฐเฉฑเจเจฆเจพ เจนเฉเฅค
เจธเจฟเฉฑเจเจพ
เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจธเจฐเฉเจค เจเฉเจก เจคเฉเจ เจธเจฟเฉฑเจงเจพ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจฒเจพเจเจก-เจจเฉเจเจฟเจต เจฌเจฟเจฒเจกเจชเฉเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจฆเฉเจเจฟเจเฅค เจเจน เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจฎ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ เจกเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจตเจฟเจเจฒเจช เจนเฉ: เจชเจนเจฟเจฒเจพเจ เจเฉฑเจ เจฎเฉเจเฉ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ JAR เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃเจพ เจ เจคเฉ เจซเจฟเจฐ เจเจธเจจเฉเฉฐ เจกเฉเจเจฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐเจเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจชเฉเจ เจเจฐเจจเจพเฅค
เจ เจธเฉเจ เจเฉฑเจ เจฒเฉเจ เจฐเจฟเฉฐเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพ เจเฉ เจเจชเจฃเฉ เจเฉฐเจเฉเจจเจฐ เจจเฉเฉฐ เจ เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจฃ 'เจคเฉ เจตเฉ เจฆเฉเจเจฟเจ เจเฉ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจฒเฉเจ เจฐเจพเจ เจตเจฟเฉฑเจ เจเจฟเฉฑเจเจฆเฉ เจนเฉ เจเฉ เจนเฉเจธเจ 'เจคเฉ เจเฉเจธเจผ เจเฉเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ เจ เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจเฉฑเจ เจชเจคเจฒเฉ เจชเจฐเจค เจเฉฐเจเฉเจจเจฐ เจฆเฉ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจเฉฐเจเจฃเจพเจ เจตเจฟเฉฑเจ เจธเจฎเจพเจ-เจคเจนเจฟ 'เจคเฉ เจฒเฉเจก เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจคเฉเจธเฉเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจ เจธเจพเจฐเฉ เจธเจฐเฉเจค เจเฉเจก เจจเฉเฉฐ เจเฉฑเจฅเฉ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉ
เจนเฉเจเจฎ เจฆเจพ เจนเจตเจพเจฒเจพ
เจ เจธเฉเจ เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจ เจเจฎเจพเจเจกเจพเจ เจฆเจพ เจเฉฑเจ เจคเฉเจเจผ เจฐเฉฐเจจเจกเจพเจเจจ เจเฉฑเจฅเฉ เจนเฉเฅค
เจธเฉฐเจฆเจฐเจญ เจเจฒเฉเจ เจฐเจฟเฉฐเจ:
docker system prune -a
เจเฉฑเจ เจกเฉเจเจฐ เจซเจพเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃเจพ:
docker build -f <Docker file name> -t <tag> .
เจ เจธเฉเจ เจธเจฐเฉเจค เจเฉเจก เจคเฉเจ เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ (เจกเจพเจเจฐเจซเจพเจเจฒ เจคเฉเจ เจฌเจฟเจจเจพเจ):
mvn spring-boot:build-image
เจจเจฟเจฐเจญเจฐเจคเจพ เจชเจฐเจคเจพเจ เจฆเฉเจเฉเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ JAR เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจฒเฉเจ เจฐเจฟเฉฐเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ spring-boot-maven-plugin เจตเจฟเฉฑเจ เจธเจฎเจฐเฉฑเจฅ เจนเฉ:
java -Djarmode=layertools -jar application.jar list
เจจเจฟเจฐเจญเจฐเจคเจพ เจชเจฐเจคเจพเจ เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจเจพเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ JAR เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจฒเฉเจ เจฐเจฟเฉฐเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ spring-boot-maven-plugin เจตเจฟเฉฑเจ เจธเจฎเจฐเฉฑเจฅ เจนเฉ:
java -Djarmode=layertools -jar application.jar extract
เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐเจพเจ เจฆเฉ เจธเฉเจเฉ เจตเฉเจเฉ
docker images
เจเฉฐเจเฉเจจเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจ เฉฐเจฆเจฐ เจเฉฑเจฌเฉ เจชเจพเจธเฉ เจฆเฉเจเฉ (เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจกเจพเจเจต เจเฉเจฒ เจเฉฐเจธเจเจพเจฒ เจนเฉ):
dive <image ID or image tag>
เจธเจฐเฉเจค: www.habr.com