Comments (2)
Instead of putting all the services in a single compose.yml
file, I tried to split them into separate files.
common.yml
version: "3.8"
services:
rabbitmq:
image: rabbitmq:3.12.11-management
...
catalog.yml
version: "3.8"
services:
catalog-db:
image: postgres:16-alpine
...
orders.yml
version: "3.8"
include:
- common.yml
services:
orders-db:
image: postgres:16-alpine
...
Now, in the application.properties file I configured which file to use as follows:
spring.docker.compose.file=compose-files/orders.yml
spring.docker.compose.lifecycle-management=start_only
Now, the problem is, that the first spring-boot app (say order-service) that I started works as expected. But when I start the second application (say catalog-service) I see the following message due to which the required services are not being started.
s.b.d.c.l.DockerComposeLifecycleManager : Using Docker Compose file '/path/compose-files/catalog.yml'
s.b.d.c.l.DockerComposeLifecycleManager : There are already Docker Compose services running, skipping startup
from spring-boot.
I tried to split them into separate files.
Another option would be to keep the services in one file, use Docker Compose profiles, and modify your application.properties
to control when individual services are started.
I see the following message due to which the required services are not being started.
This behavior is mentioned in the documentation:
If the Docker Compose services are already running when starting the application, Spring Boot will only create the service connection beans for each supported container. It will not call
docker compose up
again and it will not calldocker compose stop
when the application is shutdown.
There is some discussion on why we chose to implement things this way in #38398.
You can set spring.docker.compose.lifecycle-management=none
to prevent this message. You will have to start the service manually (for example, with docker compose up
), but Spring Boot will create the service connections as expected.
An additional mode like the one suggested in #39749, where docker compose up
would be called without first checking to see what services are running, could help this situation. I will close this issue in favor of that issue.
from spring-boot.
Related Issues (20)
- @Scheduled method not triggered on start of daylight savings time HOT 2
- Why do I turn on the virtual thread, the stress test throughput is much lower than the platform thread HOT 1
- publish a gradle version catalog HOT 1
- Documentation for custom observation conventions is missing important hints HOT 6
- Support Gradle Plugin BootRun on a feature variant HOT 4
- AnsiOutput.detectIfAnsiCapable broken on JDK22 HOT 6
- Upgrade CI to Docker 26.0.0
- Upgrade CI to Docker 26.0.1
- Upgrade CI to Docker 26.0.0
- Clarify requirements for -parameters and constructor binding
- Apply instanceof pattern matching
- Apply instanceof pattern matching
- SpringBoot 3.2.4 + GraalVM 21 + observability => issue building NATIVE image => com.oracle.svm.core.util.VMError$HostedError class: io.opentelemetry.sdk.common.export.RetryPolicy
- Gradle test - Out of memory after upgrading from 3.1.6 to 3.2.4 HOT 10
- Jetty support doesn't set virtual thread name
- Spring-boot 3.2.3 Not working as a windows wrapper service HOT 4
- Suggest testAndDevelopmentOnly configuration when using Docker Compose support in tests HOT 6
- Enhance Readability: Add Comments to H2ConsoleAutoConfiguration Class HOT 2
- Kafka consumer related auto-config takes effect even if we are overdefining it HOT 3
- @ConfigurationProperties doesn't properly support Yaml null values HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-boot.