Testcontainers 使用内置 Docker 环境,告别本地 Docker 依赖
使用 Testcontainers 库时,默认情况下会使用本机的 Docker 环境。但是,Testcontainers 也提供了一种方法来使用内置的 Docker 环境,而不是依赖于本机的 Docker。\n\n要使用内置的 Docker 环境,你需要使用一个支持内置 Docker 的 Testcontainers 启动器。目前,有两个支持内置 Docker 的启动器可供选择:LocalStack 和 Ryuk。\n\n1. 使用 LocalStack 启动器:\njava\n@Testcontainers\nclass MyTest {\n @Container\n private static final LocalStackContainer localStack = new LocalStackContainer().withServices(Service.S3);\n\n // 测试代码...\n}\n\n这将在测试之前启动一个内置的 Docker 容器,并使用 LocalStack 模拟 S3 服务。这样,你就可以在测试中使用本地模拟的 S3 服务而不是依赖于本机的 Docker 环境。\n\n2. 使用 Ryuk 启动器:\njava\n@Testcontainers\nclass MyTest {\n @Container\n private static final RyukContainer ryuk = new RyukContainer();\n\n // 测试代码...\n}\n\n这将在测试之前启动一个内置的 Docker 容器,并使用 Ryuk 来管理容器的生命周期。这样,你就可以在测试中使用内置的 Docker 环境而不依赖于本机的 Docker。\n\n请注意,使用内置的 Docker 环境可能会导致一些限制和不便,因为它不像本机的 Docker 环境那样强大和灵活。在选择是否使用内置的 Docker 环境时,请考虑你的具体需求和测试场景。
原文地址: https://www.cveoy.top/t/topic/pKae 著作权归作者所有。请勿转载和采集!