spring 启动应用实例如何打包到testcontainers中

How can spring boot application instances be packaged in testcontainers

  1. 有几个相互交互的应用程序实例(微服务)
  2. 这些 spring 启动应用程序有 docker 个图像
  3. 是否可以在测试容器中使用这些 docker 图像在测试中部署以及如何做到这一点

这种测试的工作和初始化的时间不需要考虑,这不是这种情况下的主要问题。

Testcontainers 提供 GenericContainer,它允许您在注册表中使用图像。例如,假设您有一个名为 myorganization/greetings-service:2.0.0 的服务映像,它在端口 8080 中侦听请求。那么您可以使用:

GenericContainer container = new GenericContainer("myorganization/greetings-service:2.0.0")
           .withExposedPort(8080)
           .waitingFor(Wait.forHttp("/"));

以后您可以使用 container.getHost()container.getMappedPort(8080).

获取主机和端口

希望对您有所帮助