DockerfileでSpring Bootを起動


WSLの用意

> wsl -l -v
> wsl --unregister Ubuntu-24.04
> wsl -l -v

> wsl --install Ubuntu-24.04
> wsl -d Ubuntu-24.04

新プロジェクトを準備

$ curl -s https://start.spring.io/starter.zip -d type=maven-project -d dependencies=web -d javaVersion=17 -d language=java -d bootVersion=3.4.5 -d baseDir -d demo -d groupId=com.example -d artifactId=demo -d name=my-springboot-app -d description='Demo project for Spring Boot' -d packageName=com.example.demo -d packaging=jar -o my-springboot-app.zip
$ unzip my-springboot-app.zip -d my-springboot-app

ビルドして起動

$ mvn clean package
$ mvn spring-boot:run

別窓から接続テスト

$ curl localhost:8080


$ cd my-springboot-app
$ vim Dockerfile
---
# ベースイメージとして JDK 17 を使用
FROM eclipse-temurin:17-jdk-alpine
# 作業ディレクトリを設定
WORKDIR /app
# アプリケーションの JAR ファイルをコンテナにコピー
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
# ポート番号(必要に応じて変更)
EXPOSE 8080
# アプリケーションを実行
ENTRYPOINT ["java", "-jar", "app.jar"]
---

ビルド

$ docker build -t my-springboot-app .

起動

$ docker run -p 8080:8080 my-springboot-app

別窓から接続

$ curl localhost:8080

停止

Ctrl + C