无法获取 Docker 镜像:RemoteDockerImage

问题描述

我在创建容器的集成测试中使用 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 如何获取名称但其他两个失败):

enter image description here

解决方法

我的 .testcontainer.properties 目录中的

$HOME 为我解决了这个问题。 此文件用于覆盖属性,但我仍然不确定如何解决该问题。 我在我的 .gitlab.yml 中看到我们所做的并且只是在我的本地模仿,解决了问题。