问题描述
我在创建容器的集成测试中使用 testcontainers
。
但它失败并出现以下错误:
Step Failed
org.testcontainers.containers.ContainerLaunchException: Container startup Failed
.....
Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=<my-docker-image>:latest,imagePullPolicy=DefaultPullPolicy())
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1282)
at org.testcontainers.containers.GenericContainer.logger(GenericContainer.java:616)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:321)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:312)
....
通过查看错误,它似乎无法找到 docker 映像。 但是,我在本地确实有图像,我通过逐字比较来检查。
我调试了它,在 this 行,我检查图像是否具有所有正确的值,但由于某种原因它抛出异常而不是返回正确的值。
知道如何解决这个问题吗?
版本: 测试容器:1.15.0-rc2 Docker 版本:3.1.0,引擎:20.10.2
添加调试日志(查看 this.image.getimage()
name 如何获取名称但其他两个失败):
解决方法
我的
.testcontainer.properties
目录中的 $HOME
为我解决了这个问题。
此文件用于覆盖属性,但我仍然不确定如何解决该问题。
我在我的 .gitlab.yml
中看到我们所做的并且只是在我的本地模仿,解决了问题。