testcontainer ImageFromDockerfile is *方法

问题描述

当我使用ImageFromDockerfile运行容器时,我注意到isCreated和isRunning返回false。这是预期的吗?

当我运行以下代码时,我可以看到我的容器正在运行(cat命令按预期运行,并且还具有容器ID等)

为了进行比较,当我创建一个新的GenericContainer并提供图像时,这些方法“有效”并返回true

谢谢!

@Testcontainers
public class Driver {

  static final Path RESOURCE_PATH = Paths.get("src/test/resources");

  @Container private static GenericContainer appContainer = createContainer();

  private static GenericContainer createContainer() {
    return new GenericContainer(buildImageDockerfile())
        .withStartupCheckStrategy(new OneshotStartupCheckStrategy())
        .waitingFor(new HttpWaitStrategy().withStartupTimeout(Duration.ofSeconds(5)))
        .withCommand("cat","/test.txt");
  }

  private static ImageFromDockerfile buildImageDockerfile() {
    RESOURCE_PATH.getFileSystem();
    return new ImageFromDockerfile("thisguy").withFileFromPath(".",RESOURCE_PATH);
  }

  @Test
  void test() {
    System.out.println(appContainer.getHost());
    System.out.println(appContainer.isCreated()); // returns false..
    System.out.println(appContainer.isRunning()); // also returns false..
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)