开发者社区> 问答> 正文

OceanBase中docker安装ob,如果做持久化映射到宿主机路径是扫描啊?

OceanBase中docker安装ob,如果做持久化映射到宿主机路径是扫描啊?

展开
收起
fuxixi 2022-12-12 15:34:13 420 0
来自:阿里云RPA
6 条回答
写回答
取消 提交回答
  • 在使用 Docker 安装 OceanBase 时,为了实现数据持久化,通常会将容器内部的存储卷映射到宿主机上的某个路径。这样,当容器停止或重启时,数据库的数据不会丢失。

    例如,若要在 OceanBase 的 Docker 容器上做持久化映射,您可以在运行 Docker 容器时通过 -v 参数来指定宿主机和容器内数据存储路径的映射关系。由于没有具体的 OceanBase 数据目录映射示例,这里给出一个通用的 Docker 卷映射语法:

    docker run -d \
      -p <host_port>:<container_port> \
      -v /path/on/host:/path/in/container \
      --name your_ob_container \
      oceanbase/<oceanbase_image>
    

    对于 OceanBase,假设其数据目录位于容器内的 /root/path/to/oceanbase/data,则持久化映射至宿主机的 /mnt/oceanbase_data 目录,可执行如下命令:

    docker run -d \
      -p 2881:2881 -p 2883:2883 \
      -v /mnt/oceanbase_data:/root/path/to/oceanbase/data \
      --name ob_instance \
      oceanbase/oceanbase-ce:latest
    

    请替换上述命令中的端口、宿主机目录及容器内目录为实际对应的值。

    实际操作时,请务必确认宿主机目录存在并且具有足够的磁盘空间用于存放数据库数据。同时,OceanBase 数据库的具体配置和持久化策略可能会有所不同,因此建议参考官方文档或最佳实践来进行配置。

    2024-01-09 14:23:35
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,在阿里云OceanBase中使用Docker安装OceanBase时,如果要进行持久化映射到宿主机路径,需要确保路径是可访问的、且具有足够的权限。

    扫描包括两个方面:

    1. 扫描宿主机路径是否存在:在配置Docker容器时,要确保所指定的宿主机路径是存在的。可以使用命令ls /path/to/host/dir来验证路径是否存在。

    2. 扫描宿主机路径的权限:在将宿主机路径映射到Docker容器时,需要确保宿主机路径具有足够的读写权限,以便Docker容器可以在其中进行持久化存储操作。可以使用命令ls -ld /path/to/host/dir来查看宿主机路径的权限。

    如果扫描结果中路径存在且具有足够的权限,那么持久化映射到宿主机路径就应该是有效的,但如果存在权限问题,你可能需要调整路径的权限或者更换一个可用的路径。具体请查看官方文档:
    image.png

    注意:本回答参考了阿里云Oceanbase官方文档。

    2024-01-03 16:33:54
    赞同 展开评论 打赏
  • 可以手动来进行映射。比如:

    docker run --init -d -p 2881:2881 --name obstandalone -v myvolume:/root/ob:rw oceanbase/oceanbase-ce命令
    

    ——参考来源于OceanBase社区

    2024-01-02 18:06:32
    赞同 1 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    在使用docker安装OceanBase之前,建议您先在宿主机上安装docker,并确保其版本和系统环境兼容。
    在docker容器中安装OceanBase时,可以使用以下命令进行安装:

    docker run -p <宿主机端口>:<容器端口> --name <容器名称> <镜像名称>
    

    其中,宿主机端口和容器端口可以根据您的需求进行设置,容器名称可以自定义。
    在容器中安装OceanBase之后,您可以通过宿主机访问容器内的OceanBase服务。但是,如果您将OceanBase服务的配置文件等重要文件持久化映射到宿主机路径,可能会影响容器的稳定性。建议您在宿主机上安装OceanBase,并使用宿主机来管理和配置OceanBase服务。
    如果需要将OceanBase服务部署到多个宿主机上,可以考虑使用分布式架构,将OceanBase服务部署到多个宿主机上,并通过网络连接进行数据交互和管理。image.png

    2023-12-29 10:17:06
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在 OceanBase 中,如果您使用 Docker 安装 OB,并且希望将持久化数据映射到宿主机的特定路径,您可以通过以下步骤进行操作:

    1. 首先,创建一个 Docker 容器并运行 OceanBase。例如:

    docker run -itd -m 10G --name oceanbase-ce-1 obpilot/oceanbase-ce

    1. 接下来,找到 OceanBase 数据目录。默认情况下,它位于容器的 /home/admin 目录下。例如:

    docker exec -it oceanbase-ce-1 pwd

    1. 然后,创建一个映射关系,将容器中的数据目录映射到宿主机的特定路径。例如,如果您希望将数据目录映射到宿主机的 /data 路径,可以使用以下命令:

    docker exec -it oceanbase-ce-1 mkdir /data
    docker exec -it oceanbase-ce-1 chown 1000:1000 /data
    docker exec -it oceanbase-ce-1 chmod 755 /data
    docker exec -it oceanbase-ce-1 cp -r /home/admin/data/* /data

    其中,1000 是宿主机上的用户 ID,您可以根据实际情况进行调整。

    1. 最后,重新启动 Docker 容器,使映射关系生效:

    docker restart oceanbase-ce-1

    现在,OceanBase 持久化数据将映射到宿主机的 /data 路径。如果您需要扫描该路径,可以使用 OceanBase 提供的 obdisk 工具进行扫描。例如:

    docker exec -it oceanbase-ce-1 obdisk -s /data

    2023-12-27 20:28:44
    赞同 展开评论 打赏
  • 可以使用-v参数来指定宿主机路径和容器内路径的映射关系。

    例如,如果要将宿主机的/data/ob目录映射到容器内的/var/lib/ob目录,可以使用以下命令:

    docker run -d --name ob -v /data/ob:/var/lib/ob oceanbase/ob-server

    本节为您介绍如何使用 Docker 容器部署 OCP。https://www.oceanbase.com/docs/common-ocp-1000000000401719

    image.png

    2023-12-27 11:23:16
    赞同 展开评论 打赏
滑动查看更多
来源圈子
更多
收录在圈子:
+ 订阅
阿里云RPA历经8年的内部验证,覆盖了阿里巴巴大部分BU,实现了电商客服、新零售等新兴行业的渗透,并且已经完成在保险、金融、医疗保健等领域的场景深耕,联合合作伙伴具备深度定制化能力和稳定交付能力,积累了丰富的行业可行性解决方案。目前阿里云RPA能集成并运行在更高的软件层级,这就决定了它不会侵入、影响已有的软件系统。在帮助企业提升效能的过程中,保持企业已有的IT系统功能平稳、运行可靠。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载