相关疑难解决方法(0)

用于集成测试的 docker 中的 Couchbase:使端口 8092、8093、8094 和 8095 可配置为能够使用 docker 的随机端口

我正在使用 Couchbase java 客户端 SDK 2.7.9 并且在尝试运行自动集成测试时遇到问题。在这样的测试中,我们通常使用随机端口来在同一个 Jenkins slave 上运行相同的东西(例如使用 docker)。

但是,对于客户端,我们可以指定许多自定义端口,但不能指定 8092、8093、8094 和 8095。

流行的 TestContainers 模块也提到这些端口必须在它们的 Couchbase 模块中保持静态:https ://www.testcontainers.org/modules/databases/couchbase/ 1

显然,也可以在服务器级别更改这些端口。

例子:

Docker-compose.yml

version: '3.0'
services:
  rapid_test_cb:
    build:
      context: ""
      dockerfile: cb.docker
    ports:
      - "8091"
      - "8092"
      - "8093"
      - "11210"
Run Code Online (Sandbox Code Playgroud)

docker 镜像是“couchbase:community-5.1.1”

内部端口是上面写的端口,但外部它们是随机的。在客户端级别,您可以设置 bootstrapHttpDirectPort 和 bootstrapCarrierDirectPort,但显然 8092 和 8093 端口是从服务器端获取的(谁不知道分配给他的是哪个端口)。

我想问您是否可以在客户端级别更改这些端口,如果不能,请认真考虑添加该功能。

couchbase docker couchbase-java-api

5
推荐指数
1
解决办法
329
查看次数

标签 统计

couchbase ×1

couchbase-java-api ×1

docker ×1