You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins容器内Testcontainers无法连接Ryuk的问题及解决

Jenkins容器内运行Testcontainers测试遇Ryuk连接拒绝错误

问题现象

运行测试流水线时出现以下连接错误:

18:36:15.560 [testcontainers-ryuk] WARN org.testcontainers.utility.RyukResourceReaper - Cannot connect to Ryuk at 172.17.0.1:55592
java.net.ConnectException: Connection refused (Connection refused)
    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at org.testcontainers.utility.RyukResourceReaper.lambda$null$0(RyukResourceReaper.java:92)
    at org.rnorth.ducttape.ratelimits.RateLimiter.doWhenReady(RateLimiter.java:27)
    at org.testcontainers.utility.RyukResourceReaper.lambda$maybeStart$1(RyukResourceReaper.java:88)
    at java.base/java.lang.Thread.run(Thread.java:829)

当前环境与尝试的操作

  • 启动Jenkins容器的命令:
docker run -v /var/run/docker.sock:/var/run/docker.sock -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 5000:5000 -d --restart always <镜像名>
  • 尝试使用--network="host"启动Jenkins容器,问题仍存在
  • 直接在本地机器执行mvn clean verify运行测试无错误

补充排查信息

将Jenkins容器网络改为bridge(--network="bridge"),并在测试中显式指定网络:

new GenericContainer("mongodb:1..").withNetworkMode("bridge")...

此时Ryuk容器已创建,通过docker network inspect bridge可确认三个容器均连接到bridge网络,但:

  • 从Jenkins容器通过网关IP(172.17.0.1)无法telnet连接Ryuk
  • 使用Ryuk的IP(172.17.0.2)可以正常连接
  • 连接其他容器的网关IP操作正常

解决方案

修改Jenkins容器启动命令中的挂载路径,将:

-v /var/run/docker.sock:/var/run/docker.sock

替换为:

-v /var/run/docker.sock.raw:/var/run/docker.sock

感谢@Kevin Wittek提供的解决方案!


内容的提问来源于stack exchange,提问作者MMC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:10:26