用docker部署没成功过(官方文档是不是有问题?)

【 使用环境】 测试环境
【 OB or 其他组件 】
【 使用版本 】最新版本
【问题描述】
docker 18.19.0
oceanbase 4.2.2
docker run -p 2881:2881 --name obstandalone -e MINI_MODE=1 -d oceanbase/oceanbase-ce

Initializes observer work home x


[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/ob is not empty.




Initializes obagent work home x


[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/obagent is not empty.




See https://www.oceanbase.com/product/ob-deployer/error-codes .


Trace ID: 9f3c30d2-e528-11ee-81ef-0242ac110005


If you want to view detailed obd logs, please run: obd display-trace 9f3c30d2-e528-11ee-81ef-0242ac110005













/////////////////////// phase end: 36.678 s ///////////////////////


///////////////////////         STEP 5: Ob-deploy Create Tenant         ///////////////////////


Deploy "obcluster" is configured


See https://www.oceanbase.com/product/ob-deployer/error-codes .


Trace ID: b488e84a-e528-11ee-8507-0242ac110005


If you want to view detailed obd logs, please run: obd display-trace b488e84a-e528-11ee-8507-0242ac110005


deploy failed!


      

home path 目录非空,清空试试

文档里用的是admin用户,你这里用的好像是root用户
docker run -p 2881:2881 --name obstandalone -e MINI_MODE=0 -d oceanbase/oceanbase-ce

容器里面,挂到外面也是这样提示
docker run -d -p 2881:2881 -v /home/oceanbase/data:/obhome -e OB_HOME_PATH="/obhome" -e OB_TENANT_NAME="obmysql" --name oceanbase oceanbase/oceanbase-ce

文档里这个docker命令是在admin用户下执行的,你的docker命令看起来是用root用户执行的

不能用root账号创建是吗?

可以换个账号试试,也可以清空/root/.obd目录用root账号再试试

这个会直接在我宿主机上面创建吗?

/root/.obd 没有这个目录,我这容器跑的

我用centos7.9,docker 23 ,启动oceanbase没问题,

centos 7.5 docker 18.09.0

docker ps -a 能看到容器吗?

可以看到,不过是停止状态

删了这个容器后,再运行官网命令

一样试了好多次,就只有另一个 obpilot/oceanbase-ce:v4.0 这个镜像可以,不过这个好久没更新了上面有bug

我看你挂载了个目录进去。检查下/home/oceanbase/data目录是否为空?

这样试试:
docker run -p 2881:2881 -v /home/ob/docker-mount:/root/ob --name oceanbase-ce -e MODE=mini -d oceanbase/oceanbase-ce

/home/ob/docker-mount是宿主机上的映射目录,要是个空目录

[root@localhost bin]# mkdir /home/ob/docker-mount
mkdir: 无法创建目录"/home/ob/docker-mount": 没有那个文件或目录
[root@localhost bin]# mkdir -p /home/ob/docker-mount
Initializes observer work home x
[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/ob is not empty.

Initializes obagent work home x
[ERROR] OBD-1002: Fail to init 127.0.0.1 home path: /root/obagent is not empty.

See https://www.oceanbase.com/product/ob-deployer/error-codes .
Trace ID: d30d066c-e5d6-11ee-9c33-0242ac110005
If you want to view detailed obd logs, please run: obd display-trace d30d066c-e5d6-11ee-9c33-0242ac110005
/////////////////////// phase end: 39.976 s ///////////////////////
///////////////////////         STEP 5: Ob-deploy Create Tenant         ///////////////////////
Deploy "obcluster" is configured
See https://www.oceanbase.com/product/ob-deployer/error-codes .
Trace ID: ea0a9b18-e5d6-11ee-8d1e-0242ac110005
If you want to view detailed obd logs, please run: obd display-trace ea0a9b18-e5d6-11ee-8d1e-0242ac110005
deploy failed!
[root@localhost bin]# 

配置后一样的问题,新创建了这个目录

你的镜像是啥版本,不科学啊 :rofl:

我用这个命令部署好多次了都正常

我也奇怪总报这个错误,现在不用docker部署 了。

用这个docker run -itd -m 7G -v /home/docker/ob:/data -u 500 --name obce-4.0 obpilot/oceanbase-ce:v4.0 就能正常跑