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

如何配置Testcontainers从内部仓库加载testcontainers/ryuk镜像?

配置Testcontainers指定内部ryuk镜像来源

在无外网的内部环境运行Testcontainers时,要指定ryuk镜像的内部来源,有以下几种可行方式:

1. 通过系统属性全局配置

这是最便捷的全局配置方式,无需修改代码,直接通过JVM参数或配置文件指定ryuk镜像地址:

  • JVM启动参数:在测试启动时添加参数,替换成你的内部镜像仓库地址和对应版本:
    -Dtestcontainers.ryuk.image=内部镜像仓库地址/testcontainers/ryuk:1.0.0
    
  • 配置文件(如Spring Boot项目):在application-test.properties或application-test.yml中添加:
    testcontainers.ryuk.image=内部镜像仓库地址/testcontainers/ryuk:1.0.0
    

2. 代码层面自定义配置

如果需要更灵活的控制,可以在代码中直接指定ryuk镜像:

全局配置Testcontainers参数

import org.testcontainers.utility.TestcontainersConfiguration;

// 在测试类初始化时设置
static {
    TestcontainersConfiguration.getInstance().setRyukImage("内部镜像仓库地址/testcontainers/ryuk:1.0.0");
}

直接创建自定义Ryuk容器

import org.testcontainers.ryuk.RyukContainer;

// 手动指定镜像创建Ryuk容器
RyukContainer customRyuk = new RyukContainer("内部镜像仓库地址/testcontainers/ryuk:1.0.0");
customRyuk.start();

3. 配置Docker全局镜像仓库

如果希望所有容器镜像都从内部仓库拉取,可以修改Docker的配置,将内部仓库设为镜像源:

  • Linux环境:编辑/etc/docker/daemon.json文件,添加内部仓库地址:
    {
      "registry-mirrors": ["https://内部镜像仓库地址"]
    }
    
    保存后重启Docker服务:systemctl restart docker
  • Windows/macOS:在Docker Desktop的设置中找到"Docker Engine",添加上述配置后重启Docker。

注意事项

  • 务必确保内部镜像仓库已同步对应版本的ryuk镜像,版本号要与项目依赖的Testcontainers版本匹配。可以通过Maven的mvn dependency:tree或Gradle的./gradlew dependencies命令查看依赖的ryuk版本。
  • 如果Testcontainers版本较新,可能需要同步对应tag的ryuk镜像,避免出现兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:02:07