使用navcat,链接obd报错

我目前在使用docker for windows安装部署obd,已经部署成功的是mini独立实例,使用navcat工具,链接已经部署好的上述obd实例时,发现只能使用localhost进行链接,使用IP地址进行连接时,连接不上,不知道是什么问题,有没有大神解答一下~

【附件】

1 个赞

使用obd cluster display 部署名称,命令的结果如下:
image
证明我使用本机ip来连接,理论上是没有问题的~

1 个赞

navicat 也是在同一个 docker 容器的吗,麻烦看下 /etc/hosts 里的 localhost 写的是多少

1 个赞

navicat工具不在容器里边,我是在windows上安装了docker,并且开启了linux模式,我的navicat工具是安装在win10上边的,这么说您可以理解嘛?/etc/hosts里的截图如下:
image

1 个赞

docker容器中,只运行了obd,别的都没有,

1 个赞

跟您请教一下,这个镜像在制作的时候,是否有规定network的映射方式呢?感觉出现这个问题,和镜像制作时规定的network映射方式有关系

1 个赞

网络模式没有限制的,不过 windows 和 linux 的 docker desktop 似乎支持的网络模式不太一样。

试下用这个返回的 ip:

docker inspect -f "{{ .NetworkSettings.IPAddress }}" racdemo 
1 个赞

返回的ip为:172.17.0.2
image
使用这个IP也连接不上,端口号2881,2883报错一致,报错如下:

另外,跟您请教一下,是否可以在启动obd的时候设置一下ip地址呢?

1 个赞

我想确认下,您最早提到的 ip 连接不行,是说的什么 ip,是 127.0.0.1 吗?

启动 oceanbase 容器时指定它的 ip,应该是可以做到的,可以参考下 docker 的文档:docker network create | Docker Docs

1 个赞

指的是192.168.xx.xx的本机IP,我先试一下您说的这个办法吧

1 个赞

内网 ip 的话我不确定是不是需要进行什么额外的设置,也有可能是防火墙的问题。我这边没有 windows 环境,可能需要您自己参考 docker 的文档试一下了。

1 个赞

好的,谢谢

找到原因了,本地的2881端口,被vm虚拟机占用了,但是我在使用docker run -p 2881:2881命令启动容器的时候,并没有提示我端口是被占用的,导致我一直也没往这方面想,感谢帮助