結論
はい、本当です。
設定方法
springboot3.1から
依存関係に以下を含めておくと
SpringBoot起動時にプロジェクトルートにある
docker-composeを自動で実行してくれます。
developmentOnly("org.springframework.boot:spring-boot-docker-compose")
これがまじ便利です。
詳細
以下みたいな感じでdocker-composeを配置します。
注意点
基本的には上記の手順だけで動くのですが
S3の代替としてローカル環境でminioを使用している場合
minioとは別にminio/mcを使ってバケットの作成や初期データの流し込みなどを行うためだけのコンテナを立ち上げると思うのですがそのようなケースだとminio/mcのコンテナが自分の役割を終えると勝手に終了してしまいます。
そしてその終了をspringbootが検知してアプリケーションの起動が中止されてしまうので以下のように
minio/mcに tty:trueを設定して役目が終わった後も起動だけさせてる設定にしておかないといけないです。
これはminio/mc以外でも短命のコンテナを使用していると発生する問題なので注意してください。
最後に
これはまじ便利。