首批通过分布式安全可靠测评,为关键业务系统打造
使用容器部署 OCP
更新时间:2026-04-14 15:15:57
本节为您介绍如何使用 Docker 容器部署 OCP。
前提条件
请提前创建好两个可用的 OceanBase MySQL 模式的数据库连接。推荐使用两个独立的租户,分别用来存放 meta 数据和 monitor 数据。
部署 OCP 的宿主机上已安装 Docker,并且 docker 命令在系统的 PATH 路径中可以找到。目前暂不兼容 podman-docker,Docker 的安装请参考 安装 Docker。
部署的用户仅需具有 docker 命令执行权限。
拉取 OCP 镜像
在部署 OCP 前,您需先拉取 OCP 镜像到本地。
OCP 镜像地址:https://hub.docker.com/r/oceanbase/ocp-ce/tags
在线环境
若您的部署环境可以正常访问 dockerhub,可直接通过如下命令来拉取 OCP 镜像。
docker pull oceanbase/ocp-ce:4.2.2离线环境
若您的部署环境无法访问 dockerhub,则需要在其他可以正常访问的主机上先将镜像拉取下来,再导入到部署环境中。
# execute at a host being able to access dockerhub docker pull oceanbase/ocp-ce:4.2.2 docker save -o ocp-ce.tar oceanbase/ocp-ce:4.2.2 scp ocp-ce.tar ${user}@${target}:/tmp/ # execute at target host docker load < /tmp/ocp-ce.tar
拉取 OCP 镜像后,您可以通过如下命令检查镜像的拉取情况,若得到如下图所示的结果则表示镜像已经拉取或者导入成功。
docker images | grep ocp-ce

启动 OCP 容器
使用如下命令来启动 OCP 容器。
## set environment parameters
export OCP_CPU_COUNT=4
export OCP_MEMORY_GB=8
export OCP_METADB_HOST=xxx.xxx.xxx.xxx # do not use 127.0.0.1 or localhsot
export OCP_METADB_PORT=2881
export OCP_METADB_USER=root@ocp_meta
export OCP_METADB_PASSWORD=ocp_meta_password
export OCP_METADB_DBNAME=ocp_meta
export OCP_MONITORDB_USER=root@ocp_monitor
export OCP_MONITORDB_PASSWORD=ocp_monitor_password
export OCP_MONITORDB_DBNAME=ocp_monitor
export OCP_INITIAL_ADMIN_PASSWORD=****** #should match ocp's password validation
export OCP_CONFIG_PROPERTIES=`cat << EOF
server.port:8080
ocp.site.url:http://xxx.xxx.xxx.xxx:8080
obsdk.ob.connection.mode:direct
EOF
`
# start ocp container
docker run -d --name ocp-421 \
--network host \
--cpu-period 100000 --cpu-quota ${OCP_CPU_COUNT}00000 --memory=${OCP_MEMORY_GB}G \
-e OCP_METADB_HOST="${OCP_METADB_HOST}" \
-e OCP_METADB_PORT="${OCP_METADB_PORT}" \
-e OCP_METADB_DBNAME="${OCP_METADB_DBNAME}" \
-e OCP_METADB_USER="${OCP_METADB_USER}" \
-e OCP_METADB_PASSWORD="${OCP_METADB_PASSWORD}" \
-e OCP_MONITORDB_DBNAME="${OCP_MONITORDB_DBNAME}" \
-e OCP_MONITORDB_USER="${OCP_MONITORDB_USER}" \
-e OCP_MONITORDB_PASSWORD="${OCP_MONITORDB_PASSWORD}" \
-e OCP_INITIAL_ADMIN_PASSWORD="${OCP_INITIAL_ADMIN_PASSWORD}" \
-e OCP_CONFIG_PROPERTIES="${OCP_CONFIG_PROPERTIES}" \
oceanbase/ocp-ce:4.2.1
环境变量说明:
| 变量名 | 含义 |
|---|---|
| OCP_CPU_COUNT | 分配给 OCP 容器的 CPU 核心数,请参考 主机规划。 |
| OCP_MEMORY_GB | 分配给 OCP 容器的内存(单位是 GiB),请参考 主机规划。 |
| OCP_METADB_HOST | OCP metadb 连接地址。 |
| OCP_METADB_PORT | OCP metadb 连接端口。 |
| OCP_METADB_DBNAME | OCP metadb 数据库名。 |
| OCP_METADB_USER | OCP metadb 用户,如果直连 OBServer 可以使用 user@tenant 形式;如果使用 OBProxy 可以使用 user@tenant#cluster 形式。 |
| OCP_METADB_PASSWORD | OCP metadb 用户密码。 |
| OCP_MONITORDB_DBNAME | OCP monitordb 数据库名。 |
| OCP_MONITORDB_USER | OCP monitordb 用户,如果直连 OBServer 可以使用 user@tenant 形式,如果使用 OBProxy 可以使用 user@tenant#cluster 形式。 |
| OCP_MONITORDB_PASSWORD | OCP monitordb 用户密码。 |
| OCP_INITIAL_ADMIN_PASSWORD | OCP admin 用户的登录密码,密码需满足如下要求: |
| OCP_CONFIG_PROPERTIES | OCP 系统参数配置,可以设置多行,每行一个系统参数,用 ‘:’ 分割。 |
检查 OCP 部署成功
OCP 容器启动之后,需要等待 metadb 初始化和服务启动,一般需要两分钟左右的时间,在浏览器中输入 OCP 访问地址,出现登录页面即说明服务启动成功。

如果 OCP 服务长时间未启动成功,可以通过查看日志来确认 OCP 的状态。
# use the following command to log into ocp container
docker exec -it ocp-421 bash
# check ocp bootstrap log
less /home/admin/logs/ocp/bootstrap.log
# check ocp runtime log
less /home/admin/logs/ocp/ocp.log