-
Notifications
You must be signed in to change notification settings - Fork 41.4k
Closed
Closed
Copy link
Description
If an application includes a dependency on spring-boot-docker-compose
but a compose YAML file is not found, app startup fails with a message that does not make the root cause very clear. The error message should make it more clear that a file was not found in the expected location.
2023-05-09T23:11:16.536Z INFO 1 --- [ main] .s.b.d.c.l.DockerComposeLifecycleManager : Found docker compose file 'null'
2023-05-09T23:11:16.636Z ERROR 1 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.boot.docker.compose.core.DockerProcessStartException: Unable to start docker process. Is docker correctly installed?
at org.springframework.boot.docker.compose.core.DockerCli.getDockerCommand(DockerCli.java:75) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.core.DockerCli.<init>(DockerCli.java:62) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.core.DockerCompose.get(DockerCompose.java:101) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.lifecycle.DockerComposeLifecycleManager.getDockerCompose(DockerComposeLifecycleManager.java:132) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.lifecycle.DockerComposeLifecycleManager.startup(DockerComposeLifecycleManager.java:103) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.lifecycle.DockerComposeListener.onApplicationEvent(DockerComposeListener.java:53) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.lifecycle.DockerComposeListener.onApplicationEvent(DockerComposeListener.java:35) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-6.0.8.jar:6.0.8]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-6.0.8.jar:6.0.8]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-6.0.8.jar:6.0.8]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131) ~[spring-context-6.0.8.jar:6.0.8]
at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.context.event.EventPublishingRunListener.contextLoaded(EventPublishingRunListener.java:98) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplicationRunListeners.lambda$contextLoaded$4(SpringApplicationRunListeners.java:72) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at java.base/java.lang.Iterable.forEach(Unknown Source) ~[na:na]
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplicationRunListeners.contextLoaded(SpringApplicationRunListeners.java:72) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:415) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) ~[spring-boot-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.example.books.server.BooksApplication.main(BooksApplication.java:26) ~[classes/:0.0.1-SNAPSHOT]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[workspace/:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:95) ~[workspace/:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[workspace/:na]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[workspace/:na]
Caused by: org.springframework.boot.docker.compose.core.ProcessStartException: Unable to start command docker version --format {{.Client.Version}}
at org.springframework.boot.docker.compose.core.ProcessRunner.startProcess(ProcessRunner.java:115) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.core.ProcessRunner.run(ProcessRunner.java:87) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.core.ProcessRunner.run(ProcessRunner.java:74) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
at org.springframework.boot.docker.compose.core.DockerCli.getDockerCommand(DockerCli.java:70) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
... 30 common frames omitted
Caused by: java.io.IOException: Cannot run program "docker": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(Unknown Source) ~[na:na]
at java.base/java.lang.ProcessBuilder.start(Unknown Source) ~[na:na]
at org.springframework.boot.docker.compose.core.ProcessRunner.startProcess(ProcessRunner.java:105) ~[spring-boot-docker-compose-3.1.0-SNAPSHOT.jar:3.1.0-SNAPSHOT]
... 33 common frames omitted
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) ~[na:na]
at java.base/java.lang.ProcessImpl.<init>(Unknown Source) ~[na:na]
at java.base/java.lang.ProcessImpl.start(Unknown Source) ~[na:na]
... 36 common frames omitted
marcoaureliocardosomarcoaureliocardoso
Metadata
Metadata
Assignees
Labels
type: bugA general bugA general bug