Spring Bootをコンテナで咾したい
峻さん、こんにちは。室宝蝕kグル`プの稼-看噛温敬温稼です。
按10埖の及4Lには、海勸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旗になりましたね。
ではまた。
