测试容器无法拉取 ryuk 镜像:无法访问 quay.io

Posted

技术标签:

【中文标题】测试容器无法拉取 ryuk 镜像:无法访问 quay.io【英文标题】:Testcontainers can't pull ryuk image: quay.io is not reachable 【发布时间】:2020-09-05 07:12:39 【问题描述】:

我遇到了测试容器无法从 quay.io 提取“ryuk”图像的问题。

[32m01:23:19.732[0;39m [35m[main][0;39m [39mDEBUG[0;39m [36mo.t.d.a.AuthDelegatingDockerClientConfig[0;39m - Effective auth config [null] 
[32m01:23:30.281[0;39m [35m[tc-okhttp-stream-308592104][0;39m [1;31mERROR[0;39m [36mc.g.d.a.async.ResultCallbackTemplate[0;39m - Error during callback 
com.github.dockerjava.api.exception.InternalServerErrorException: "message":"Get https://quay.io/v2/testcontainers/ryuk/manifests/0.2.3: received unexpected HTTP status: 500 Internal Server Error"

【问题讨论】:

动作在这里:github.com/testcontainers/testcontainers-java/issues/2763 将镜像重新发布到 Docker Hub:qminder/moby-ryuk github.com/testcontainers/testcontainers-java/issues/… 有官方容器:hub.docker.com/r/testcontainersofficial/ryuk 是的,这似乎是官方的替代方案,但仍然是临时的:( github.com/prestosql/presto/issues/3816 【参考方案1】:

Starting from version 1.14.3 testcontainers 使用来自 Docker Hub 的 ryuk 而不是 quay.io。所以提高你的testcontainers 版本。

【讨论】:

【参考方案2】:

我最近收到此错误:将测试容器升级到版本“1.15.1”修复了此问题。

【讨论】:

这也有帮助【参考方案3】:

解决方法是通过在 testcontainers 属性文件 src/test/resources/testcontainers.properties 中设置属性来使用 DockerHub 中的不同 ryuk 容器(https://hub.docker.com/r/testcontainersofficial/ryuk 或 https://hub.docker.com/r/qminder/moby-ryuk):

ryuk.container.image=testcontainersofficial/ryuk

另一个选项是通过将环境变量TESTCONTAINERS_RYUK_DISABLED 设置为true 来禁用Testcontainers 中的Ryuk,如here 所述。

【讨论】:

感谢发布,实施修复。供参考,这里是对应的问题:github.com/testcontainers/testcontainers-java/issues/…,刚刚解决。【参考方案4】:

就我而言,我已经解决了清理所有 docker-images 的问题。

但是,升级我的 POM.XML 以测试容器 1.15.1 已经是解决他的麻烦的方法了。

【讨论】:

【参考方案5】:

我遇到了同样的问题,我通过将 testcontainers 升级到版本 1.16.0 解决了它

【讨论】:

以上是关于测试容器无法拉取 ryuk 镜像:无法访问 quay.io的主要内容,如果未能解决你的问题,请参考以下文章

vm虚拟机Centos7中设置了静态IP后,docker无法拉取镜像

解决虚拟机docker无法拉取阿里云镜像的问题

docker镜像拉取失败

Kubernetes:无法拉取图像

Elastic Beanstalk Docker 映像无法拉取

Clappr 似乎无法拉取视频(使用 rtmp/nginx)