【问题标题】:How to use local Docker image with testcontainers?如何将本地 Docker 映像与测试容器一起使用?
【发布时间】:2018-11-08 03:22:01
【问题描述】:

我想使用带有 testcontainers 的仅限本地的 Docker 映像。

代码如下:

new GenericContainer("rserver:latest")...

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

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

【问题讨论】:

  • 尝试标记您的本地图像? docker build -t local/rserver,并使用它
  • 可能不使用latest,而是使用本地镜像的版本?
  • @cricket_007 谢谢。使用另一个名称作为解决方法可以完成这项工作。我仍然想知道是否可以强制使用本地图像。
  • @Ben 不指定版本只会减少获取不需要的图像的机会吗?

标签: java docker testcontainers


【解决方案1】:

我知道这个答案为时已晚,但它对遇到完全相同问题的其他人很有用。

如果您已经有了想要的镜像,请尝试将您的容器的镜像 Pull Policy 隐式设置为默认值:

GenericContainer container = new GenericContainer("someImage")
        .withImagePullPolicy(PullPolicy.defaultPolicy());

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-06
    • 2020-08-08
    • 2019-03-10
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    相关资源
    最近更新 更多