在Docker(Windows)中拉取了OceanBase社区版实例数据库后,如何启动Docker中的OceanBase社区版实例,每次都得重新创建容器,否则就报错

【 使用环境 】测试环境
【 OB or 其他组件 】ob社区版
【 使用版本 】最新版
【问题描述】在Docker(Windows)中拉取了OceanBase社区版镜像并创建了实例数据库后,如何在Docker中启动的OceanBase社区版实例容器
【复现路径】在Docker中启动创建的容器总是报错
【附件及日志】




是重启失败?

是的,每次都得删除Docker,然后重新创建一个Docker实例,才可以连接

我是根据官方里的指南部署的,如果直接启动上次创建的Docker,就是启动失败

而且每次都要重新Docker run一个数据库实例,之前创建的表什么的全没了,有没有什么方法可以不需要每次都重新创建实例的吗?

启动容器实例后,在容器中执行 obd update 命令,obd 会升级到2.7.0之后的版本,就没有这个问题了。

是指升级版本后,不需要每次创建实例,还是指升级版本后每次创建实例但是表也还在?

升级版本后是要重新拉取镜像吗?

我升级了版本,但是还是不行

重现并且找到了原因。
现在需要在第一次启动容器的时候,增加 --init参数,比如
docker --init -itd oceanbase/oceanbase-ce
后续再重启,就没有问题了。

原因:
obshell 进程收到kill -9消息后,僵尸进程没有人回收导致后续重启失败,增加–init就会有init进程来回收僵尸进程了。

请问是在拉取完镜像之后、且在创建数据库实例之前执行这句吗?docker --init -itd oceanbase/oceanbase-ce

执行这句会返回:unknown flag: --init

这条命令执行不通

请问是在拉取完镜像之后、且在创建数据库实例之前执行这句吗?docker --init -itd oceanbase/oceanbase-ce,执行这句会返回:unknown flag: --init,这条命令执行不通