Spring Bootをコンテナで�咾�したい
峻さん、こんにちは。室宝蝕�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 bootRuncurlでリクエストを僕佚して卦基があれば撹孔です。
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旗になりましたね。
ではまた。
