当前位置: 首页 > 知识库问答 >
问题:

Testcontainers不使用本地docker映像

蒋俊
2023-03-14

我有慢的互联网连接,但我已经有我需要的docker映像。Docker映像LS:

yandex/clickhouse-server   20.1.8.41           3edfaacaf3ed        5 weeks ago         487MB
@Rule
public ClickHouseContainer clickHouseContainer = (ClickHouseContainer)new ClickHouseContainer("yandex/clickhouse-server:20.1.8.41");

@Test
public void test() {
    System.out.println(clickHouseContainer.getJdbcUrl());
}

或使用通用的:

public GenericContainer genericContainer = new GenericContainer("yandex/clickhouse-server:20.1.8.41");

但结果是错误的:

Caused by: com.github.dockerjava.api.exception.DockerClientException: Could not pull image: net/http: TLS handshake timeout

如何优化testcontainers以使用本地映像?

共有1个答案

巩才捷
2023-03-14

默认情况下,testcontainers使用本地缓存,但它也依赖于几个公共映像“执行不同的操作,如启动检查、VNC记录和其他操作”,包括使用Ryuk清理容器。

我认为这些辅助图像的加载在你的情况下可能是失败的。试着手动把它们拉进去。我的赌注是quay.io/testcontainers/ryuk:0.2.3,因为您不应该真的需要其余部分。

 类似资料:
  • 如何强制testcontainers使用本地映像?

  • 我可以在docker上导入此图像,但无法运行。 我所做的: 将图像文件从“.img”格式压缩为“.tar.gz”格式,以便导入docker图像。我使用7-zip工具来转换这个。 我使用这个新文件(.tar.gz)<从本地文件导入了docker图像 试图运行此导入的映像,但失败。 执行的命令: 我对此错误进行了大量搜索,发现为了运行,我们需要指定创建映像时使用的路径(在Dockerfile中),但我

  • 我尝试使用minikube从本地docker镜像和docker hub部署kubernetes。但两者都不起作用。 方法1:使用保存和加载tar文件,创建了图像,它可用于kubectl。 执行以下命令以创建部署: 从kubectl描述pod命令, 方法2:我将映像推送到我的docker hub存储库(https://hub.docker.com/r/get2arun/elk/tags),然后在终端

  • 问题内容: 我最近开始使用Docker,但从未意识到我应该使用代替或摆脱我的实验。我现在在本地有大量不需要的docker映像。 我是否可以运行一个标志来删除所有本地docker映像和容器? 像--all标志这样的东西并不存在,但是我正在寻找具有类似想法的东西。 问题答案: 要删除所有容器(包括其卷), 要删除所有图像, 请记住,您应先删除所有容器,然后再删除创建这些容器所用的所有图像。 如果您使用

  • 我最近开始使用Docker,但从未意识到我应该使用而不是或来摆脱我的实验。我现在在本地有大量不需要的docker映像。 是否有一个标志我可以运行删除所有本地docker映像和容器? 类似--allFlag的东西不存在,但我正在寻找类似的东西。

  • 我正在使用支持 Kubernetes 的 Mac Docker,并且我正在努力创建一个引用本地构建的映像的 Kubernetes 部署。 输出: 这是我的部署。yaml: 当我运行<code>时,kubectl应用-f解聚剂。yamlpod已创建,但: 其中一个豆荚给出了: 有趣的是,如果我尝试运行一些托管在dockerhub上的图像,那么一切都很好,我还尝试使用skaffold,它也像一个魅力一