如何将本地 Docker 映像与 testcontainers 一起使用?

dea*_*mon 6 java docker testcontainers

我想在testcontainers 中使用仅限本地的 Docker 映像。

代码如下所示:

new GenericContainer("rserver:latest")...
Run Code Online (Sandbox Code Playgroud)

然而,看起来另一个同名的图像是从远程注册表中获取的。

如何强制测试容器使用本地图像?

小智 7

我知道这个答案为时已晚,但对于其他有完全相同问题的人来说可能很有用。

如果您已经拥有所需的映像,请尝试将容器的映像拉取策略隐式设置为默认值:

GenericContainer container = new GenericContainer("someImage")
        .withImagePullPolicy(PullPolicy.defaultPolicy());
Run Code Online (Sandbox Code Playgroud)

默认镜像拉取策略告诉 Docker 仅当本地不存在镜像时才从远程存储库中拉取镜像。

请注意,此方法 (withImagePullPolicy(..)) 仅适用于最新版本的 TestContainers 依赖项。我用的是1.14.3。