docker 部署持久化报错

【 使用环境 】测试环境
【 OB or 其他组件 】社区版
【 使用版本 】社区版本
【问题描述】
win11电脑安装docker desktop
docker compose启动oceanbase
配置如下
version: “3.8”
volumes:
ob_data:
driver: local
driver_opts:
type: ‘none’
device: ‘D:\oceanbase\data’
o: bind
obd_cluster:
driver: local
driver_opts:
type: ‘none’
device: ‘D:\oceanbase\cluster’
o: bind
redis_data:
driver: local
driver_opts:
type: ‘none’
device: ‘D:\oceanbase\redisdata’
o: bind

services:
redis:
image: redis:latest # 使用最新版本的Redis镜像
container_name: redis # 为容器设置一个名称
restart: always # 容器总是重启
privileged: true
command: [“redis-server”, “–appendonly”, “yes”, “–requirepass”,“Y”]
logging:
driver: “json-file”
options:
max-size: “32M”
ports:
- “6379:6379” # 将容器的6379端口映射到宿主机的6379端口
volumes:
- redis_data:/data # 挂载数据卷,用于持久化数据

oceanbase:
image: Quay
container_name: oceanbase-ce
restart: always
privileged: true
ports:
- “2881:2881” # 租户访问端口
- “2882:2882” # 内部通信端口
environment:
- datafile_size=10G
- MODE=NORMAL
- OB_SYS_PASSWORD=Y
- OB_TENANT_PASSWORD=Y
volumes:
- ob_data:/root/ob
- obd_cluster:/root/.obd/cluster

【复现路径】如果不配置持久化存储数据,则系统可以正常链接,如上配置volumes,则navicat无法链接错误如下:
2013 - Lost connection to server at "handshake: reading initial communication packet’, system error: 0

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题: 在 Win11 上通过 Docker Compose 启动 OceanBase 并配置持久化存储时遇到问题,无法通过 Navicat 连接,错误信息为 ‘2013 - Lost connection to server at handshake: reading initial communication packet, system error: 0’,应该如何解决?

推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。

日志采集场景: 断链接
日志采集命令: obdiag gather scene run --scene=observer.disconnection

为了更准确地定位问题,请您提供以下信息:

  1. 您启动 OceanBase 时使用的 Docker Compose 文件内容是什么?
  2. 您配置的持久化存储路径是否正确,以及是否有足够的权限访问该路径?
  3. 您在 Navicat 中配置的连接参数(如主机地址、端口号、用户名、密码等)是否与 OceanBase 实例匹配?
  4. 您能否从 Docker 容器内部连接到 OceanBase 服务,例如通过 mysql -h127.0.0.1 -P2881 -uroot -p 命令尝试连接?
  5. 您的 OceanBase 版本信息是什么?可以通过 obclient -h127.0.0.1 -P2881 -uroot -p -e "SELECT version();" 获取。
  6. 您是否在启动 OceanBase 时遇到了任何警告或错误信息?如果有,请提供详细信息。

附上敏捷诊断工具 obdiag 使用帮助链接

容器日志有什么报错,PVC的权限设置对吗?