无法使用非标准端口运行Couchbase容器

问题描述

更新04/09/20(jj / mm / aaaa)

我尝试通过玩沙发基准配置文件自定义端口上运行我的沙发基准实例。

docker run -d --privileged --memory 3200M --name bumblebase \
-v '$PWD/static_config:/opt/couchbase/etc/couchbase/static_config' \
-p 3456-3461:3456-3461 -p 6575-6576:6575-6576 \
couchbase:community-6.6.0

static_config是我创建的文件,具有以下内容,位于here之后(底部):

{rest_port,3456}.
{query_port,3458}.
{fts_http_port,3459}.
{cbas_http_port,3460}.
{eventing_http_port,3461}.
{memcached_port,6575}.

但是后来我根本无法访问我的couchbase实例(Web UI或rest api)。我试图将本地端口指向自定义端口和认端口(-p 3456-3461:8091-8096),但没有一个起作用,并且只有删除了-v选项,该问题才会消失-这使我回到了原始发布场景

顺便说一句,到目前为止,我仍在尝试this page instructions,但没有任何成功。出于某种原因,当我设置备用主机名(运行该主机名似乎是必需的)时,访问备用地址需要很长时间才能加载,最终会因超时错误而失败。

原始帖子

由于我开发了许多应用程序,它们运行在不同的Benchbase群集上,因此必须在不同端口上的容器中运行它们。我使用以下命令创建了容器:

docker run -d --memory 2048M --name "my-database" \
    -p 3456-3461:8091-8096 \
    -p 6210-6211:11210-11211 \
    couchbase

然后我添加了存储桶,并在localhost:3456的Web UI上运行良好:

setting-alternate-address

这是我的服务器信息:

enter image description here

在我的代码中,我具有以下连接功能

var cluster *gocb.Cluster

func Cluster() *gocb.Cluster {
    return cluster
}

func init() {]
    c,err := gocb.Connect(
        "couchbase://127.0.0.1:3456",gocb.ClusterOptions{
            Username: "Administrator",Password: "password",TimeoutsConfig: gocb.TimeoutsConfig{
                ConnectTimeout: 30 * time.Second,},)

    if err != nil {
        panic(err)
    }

    cluster = c
}

Panic不会触发,但是每当我尝试执行KV操作时,它都会失败,并显示以下错误

ambiguous timeout | {"InnerError":{"InnerError":{"InnerError":{},"Message":"ambiguous timeout"}},"OperationID":"Add","Opaque":"0x0","TimeObserved":2501547947,"RetryReasons":null,"RetryAttempts":0,"LastdispatchedTo":"","LastdispatchedFrom":"","LastConnectionID":""}

并且仅当我尝试连接到docker benchbase实例时才会出现此错误。如果我运行Couchbase Server应用程序并连接到适当的端口(8091),则可以正常运行:

var cluster *gocb.Cluster

func Cluster() *gocb.Cluster {
    return cluster
}

func init() {]
    c,err := gocb.Connect(
        "couchbase://localhost",)

    if err != nil {
        panic(err)
    }

    cluster = c
}

我检查了凭据,它们是正确的,也用0.0.0.0或127.0.0.1替换了localhost根本没有帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)