我浏览了教程 https://www.baeldung.com/docker-compose-support-spring-boot 和 https://www.youtube.com/watch?v=lS1GwdIfk0c 。 这些解释了如何使 Spring Boot 应用程序使用 dockerized 产品,例如一些数据库。
但是如何让 Spring Boot 服务调用另一个我的 Spring Boot 服务,spring-boot-docker-compose 可以帮忙吗?
我知道要编写 docker-compose 来使两个 Spring Boot 服务进行通信,但我不知道 spring-boot-docker-compose 如何提供帮助。
使“另一个 Spring Boot 服务”只是另一个 docker 化的应用程序,并将其添加到您的 docker compose 中。
所以你需要:
FROM bellsoft/liberica-openjdk-alpine:17 COPY target/yourapp-0.0.1-SNAPSHOT.jar /app/yourapp.jar ENTRYPOINT ["java", "-jar", "/app/yourapp.jar"]
构建镜像并将其发布到本地 Docker 存储库。 进入Dockerfile所在目录并运行
docker build . -t tst/yourapp:0.0.1
将其添加到主服务的 docker 组合中 - 设置
image
、container-name
、environment
、ports
...不要忘记 networks
并让您的服务访问到的网络-被调用的服务以及depends_on
在所有被调用的服务之后启动它...
如果服务在没有池/自动重连或类似机制的情况下同步通信,则必须通过
org.springframework.retry.support.RetryTemplate
添加连接重试