测试容器无法拉取 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无法拉取镜像