gpt4 book ai didi

Spring Cloud 项目中的 Docker 容器化

转载 作者:行者123 更新时间:2023-12-02 06:30:09 25 4
gpt4 key购买 nike

我正在尝试使用 Spring 和 Spring Boot 创建 Spring Cloud 微服务。我开发了一个 Spring Cloud Eureka 服务器作为单独的 Spring Boot 项目。还为 Zuul 服务器创建了 Spring Boot 项目,用于网关代理和路由。

  • 现在我有 3 个 Spring Boot 项目,如上所述。在这里,我将 Docker 容器引入到我的项目中。因此,我探索了基于 pom.xml 的容器化,例如使用 Fabric 工具。
  • 那么当我部署微服务时,需要通过容器化来部署所有项目吗?那么云平台是否将所有微服务都处理到单独的容器中?
  • 将我的所有微服务部署在单独的容器中,在云中是否存在任何问题,因为它们可以相互通信/调用?

最佳答案

So when I deploying my microservices, Need to deploy all projects by containerization? So is cloud platform treating all of the microservices into separate containers?

您不必被迫对所有微服务进行 docker 化。您可以单独对每个微服务进行 docker 化,并保留一些非 docker 化。然而,这样做并没有明显的好处。如果您正在采用 Docker,最好将所有内容都 Dockerize您的微服务。

Docker maven插件配置最好在每个项目中单独完成。我建议仅使用 Maven 插件来构建镜像并可选择将它们推送到注册表。然后您可以单独部署每个镜像。我会推荐您使用的 Docker composeDocker swarm对于生产,部署不同的微服务容器。

Is there any problem in cloud by deploying my all microservices in separate containers,since they may communicate/call each other?

不,应该不会有任何问题。但您应该小心容器通信时需要使用的主机名。如果您使用 docker compose,容器可以通过将服务名称作为主机名来直接相互通信。例如,其他微服务可以使用http://eureka:8761注册到Eureka。因此,请确保设置正确的 application.properties 以访问其他服务。

关于Spring Cloud 项目中的 Docker 容器化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com