Spring Bootをコンテナで�咾�したい

n-ozawan

峻さん、こんにちは。室宝蝕�kグル�`プの稼-看噛温敬温稼です。
�按�10埖の及4�Lには、海勸�hと床股�hで�h廠をかけた跨哈き栽�蕕�佩われます。

云籾です。
參念、Next + Expressをイメ�`ジ晒する圭隈を函り貧げました。せっかくなのでSpring Bootで恬撹したアプリケ�`ションをイメ�`ジ晒する圭隈を�B初します。とはいえ、蒙に�Zることがないほど、すごい���gです。

Spring Boot プロジェクトのコンテナ晒

プロジェクトの�扮�

Spring Bootプロジェクトを喘吭します。�h廠はGradleです。Spring Bootのプロジェクトは、巷塀がしていますので、それをダウンロ�`ドします。

ダウンロ�`ドしたらgradlewに�g佩�慙泙鮓錦襪靴泙后�

chmod +x gradlew

皆沿姻庄稼乙京看看岳を�g佩します。

./gradlew bootRun

curlでリクエストを僕佚して卦基があれば撹孔です。

curl http://localhost:8080

Greetings from Spring Boot!

圭隈�截魂�看看岳京顎庄鉛糸鴛馨温乙艶でイメ�`ジを恬撹する

イメ�`ジを恬撹する圭隈は寄きく2宥りあります。その坪の1つは恢看看岳京顎庄鉛糸鴛馨温乙艶タスクを�g佩する圭隈です。參和のコマンドを�g佩します。

./gradlew bootBuildImage --imageName=spring-boot-app

貧芝のコマンドで、プロジェクトのビルドからイメ�`ジの恬撹までを佩ってくれます。禽看界一艶姻韓庄鉛艶は音勣です。

圭隈�擅唆抓燃Π豈隶�韓庄鉛艶でイメ�`ジを恬撹する

もう1つの圭隈は禽看界一艶姻韓庄鉛艶からイメ�`ジを恬撹する圭隈です。坪否は掲械にシンプルで、駅勣恷弌�泙任△譴�4佩で�gみます。

FROM openjdk:21-jdk
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

哈方にJAR_FILEを鞭け函るようにしています。もし、JAR_FILEを鞭け函らなかった魁栽は、デフォルト�、箸靴�target/*.jarを歌孚します。�I尖坪否としては、逮温姻ファイルをイメ�`ジにコピ�`して、その逮温姻ファイルを�g佩しているだけです。

プロジェクトのル�`トに禽看界一艶姻韓庄鉛艶を鯉追したら、參和のコマンドによりイメ�`ジを恬撹します。

./gradlew build && docker build --build-arg JAR_FILE=build/libs/spring-boot-0.0.1-SNAPSHOT.jar -t spring-boot-app .

哈方にJAR_FILEを峺協することにより、イメ�`ジにコピ�`する逮温姻ファイルを峺協します。

強恬鳩範をする

圭隈�戮箱擇箸箸發法�參和のコマンドでコンテナを軟強します。

docker run -p 8080:8080 -it spring-boot-app

屎械にコンテナが強いているか鳩範してみましょう。

curl http://localhost:8080

Greetings from Spring Boot!

おわりに

圭隈�戮痢�bootBuildImageでイメ�`ジを恬撹する々圭隈では、Cloud Native Buildpacks (CNB)と柵ばれるツ�`ルが聞われています。CNBは、Dockerfileを��かずに、クラウドでの�嘛�に恷�m晒されたコンテナのイメ�`ジを恬撹するツ�`ルです。Dockerfileを岑らなくても恷�m晒されたイメ�`ジが恬撹できるなんて、すごい宴旋な�r旗になりましたね。

ではまた。


Recommendおすすめブログ