当前位置: 首页 > ai >正文

bisheng系列(一)- 本地部署(Docker)

目录

一、导读

二、说明

1、镜像说明

2、本节内容

三、docker部署

1、克隆代码

2、运行镜像

3、可能的错误信息

四、页面测试

1、注册用户

2、登陆成功

3、添加模型


一、导读


环境:Ubuntu 24.04、Windows 11、WSL 2、Python 3.10 、bisheng 1.1.1

背景:需要bisheng二开商用,故而此处进行本地部署,便于后期调试开发

时间:20250519

说明:根据官方的教程,进行docker部署并登陆成功

注意:本节仅使用docker部署,后面会说明前后端代码运行部署,其他使用docker部署。其中用到的端口较多,请确保端口未处于使用状态

git代码地址:BISHENG github地址链接

官方文档地址:BISHENG - 私有化部署

二、说明

1、镜像说明

bisheng的docker镜像共有九个, 分别如下:

BISHENG的docker组件构成
序号 镜像组件名称镜像组件版本
1backed1.1.1
2frontend1.1.1
3redis 7.0.4
4MySQL8.0
5milvus2.3.3
6minio2023-03-20T20-16-18Z 
7onlyoffice7.1.1
8elasticsearch8.12.0
9etcd3.5.5

 上述内容源于下图

2、本节内容

本节内容计划实现的是:根据官方文档,实现docker部署并运行

docker部署使用Ubuntu(Ubuntu已安装docker),后期的前后端分离部署使用open Euler

由于官方1.2.0版本(dev)支持python >=3.10,而1.1.1版本支持python >= 3.9,所以使用Open Euler 23.03版本,该版本默认的python版本为3.10

三、docker部署

docker安装参考:Linux子系统安装docker-engine,国内镜像_engine如何在linux安装-CSDN博客

1、克隆代码

# 如果系统中有git命令,可以直接下载毕昇代码
git clone https://github.com/dataelement/bisheng.git
# 进入安装目录
cd bisheng/docker# 如果系统没有没有git命令,可以下载毕昇代码zip包
wget https://github.com/dataelement/bisheng/archive/refs/heads/main.zip
# 解压并进入安装目录
unzip main.zip && cd bisheng-main/docker

2、运行镜像

docker-compose up -d

此时会报错,如下:

jack@Laptop-L14-gen4:~/bisheng-blog/bisheng/docker/bisheng-main/docker$ docker-compose up -d
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.office.environment.JWT_ENABLED contains false, which is an invalid type, it should be a string, number, or a null

修改docker-com文件的48行,在false上加上双引号如下:

 46     environment:47       TZ: Asia/Shanghai48       JWT_ENABLED: "false"

再次运行,出现如下界面:

3、可能的错误信息

jack@Laptop-L14-gen4:~/bisheng-blog/bisheng/docker$ docker-compose up -d
Recreating 5be896b66630_bisheng-mysql ...
Recreating 9f92111be526_milvus-minio  ...
Recreating 70b6a9c7768d_milvus-etcd   ...
Recreating 0ff268aad0df_bisheng-office ...
Recreating 76538f98c046_bisheng-redis  ...
Recreating d0f47f49074d_bisheng-es     ...ERROR: for 5be896b66630_bisheng-mysql  'ContainerConfig'ERROR: for 9f92111be526_milvus-minio  'ContainerConfig'ERROR: for 70b6a9c7768d_milvus-etcd  'ContainerConfig'ERROR: for 0ff268aad0df_bisheng-office  'ContainerConfig'ERROR: for 76538f98c046_bisheng-redis  'ContainerConfig'ERROR: for d0f47f49074d_bisheng-es  'ContainerConfig'ERROR: for mysql  'ContainerConfig'ERROR: for minio  'ContainerConfig'ERROR: for etcd  'ContainerConfig'ERROR: for office  'ContainerConfig'ERROR: for redis  'ContainerConfig'ERROR: for elasticsearch  'ContainerConfig'
Traceback (most recent call last):File "/usr/bin/docker-compose", line 33, in <module>sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in maincommand_func()File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_commandhandler(command, command_options)File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapperresult = fn(*args, **kwargs)^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in upto_attach = up(False)^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in upreturn self.project.up(^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in upresults, errors = parallel.parallel_execute(^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_executeraise error_to_reraiseFile "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producerresult = func(obj)^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in doreturn service.execute_convergence_plan(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_planreturn self._execute_convergence_recreate(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreatecontainers, errors = parallel_execute(^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_executeraise error_to_reraiseFile "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producerresult = func(obj)^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreatereturn self.recreate_container(^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_containernew_container = self.create_container(^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_containercontainer_options = self._get_container_create_options(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_optionscontainer_options, override_options = self._build_container_volume_options(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_optionsbinds, affinity = merge_volume_bindings(^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindingsold_volumes, old_mounts = get_container_data_volumes(^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumescontainer.image_config['ContainerConfig'].get('Volumes') or {}~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'ContainerConfig'

如出现上述错误信息,查看是否存在容器(运行与停止的),如下:

jack@Laptop-L14-gen4:~/bisheng-blog/bisheng/docker$ docker ps -a
CONTAINER ID   IMAGE                                      COMMAND                  CREATED        STATUS                        PORTS                                                           NAMES
75bcb85e2b89   dataelement/bisheng-frontend:v1.1.1        "/docker-entrypoint.…"   40 hours ago   Exited (0) 11 minutes ago                                                                     bisheng-frontend
385f2dba3966   dataelement/bisheng-backend:v1.1.1         "sh entrypoint.sh"       40 hours ago   Exited (137) 11 minutes ago                                                                   bisheng-backend
640ad23afa2b   milvusdb/milvus:v2.3.3                     "/tini -- milvus run…"   40 hours ago   Exited (0) 11 minutes ago                                                                     milvus-standalone
9f92111be526   minio/minio:RELEASE.2023-03-20T20-16-18Z   "/usr/bin/docker-ent…"   40 hours ago   Exited (0) 11 minutes ago                                                                     9f92111be526_milvus-minio
70b6a9c7768d   quay.io/coreos/etcd:v3.5.5                 "etcd -advertise-cli…"   40 hours ago   Exited (0) 11 minutes ago                                                                     70b6a9c7768d_milvus-etcd
76538f98c046   redis:7.0.4                                "docker-entrypoint.s…"   40 hours ago   Exited (0) 11 minutes ago                                                                     76538f98c046_bisheng-redis
5be896b66630   mysql:8.0                                  "docker-entrypoint.s…"   40 hours ago   Exited (0) 11 minutes ago                                                                     5be896b66630_bisheng-mysql
0ff268aad0df   onlyoffice/documentserver:7.1.1            "/app/ds/run-documen…"   40 hours ago   Exited (137) 11 minutes ago                                                                   0ff268aad0df_bisheng-office
d0f47f49074d   bitnami/elasticsearch:8.12.0               "/opt/bitnami/script…"   40 hours ago   Exited (143) 11 minutes ago                                                                   d0f47f49074d_bisheng-es
5257cf9b2426   qdrant/qdrant                              "./entrypoint.sh"        3 weeks ago    Exited (255) 2 weeks ago      0.0.0.0:6333-6334->6333-6334/tcp, :::6333-6334->6333-6334/tcp   distracted_lamport
b28179c3b79b   qdrant/qdrant                              "./entrypoint.sh"        3 weeks ago    Exited (255) 3 weeks ago      0.0.0.0:6333-6334->6333-6334/tcp, :::6333-6334->6333-6334/tcp   bold_beaver
b00d21f614f7   hello-world                                "/hello"                 3 weeks ago    Exited (0) 3 weeks ago                                                                        objective_khayyam
114b2a816fae   ubuntu1:8080                               "/bin/sh -c 'npm i &…"   7 weeks ago    Exited (255) 7 weeks ago      0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                       light_house

该问题出自容器ID重复(bisheng的9个容器ID始终不变),当启动后,存在停止的容器,导致docker-compose启动镜像失败

在当前目录下执行:

docker-compose down

该命令实现了关闭容器并删除的功能

四、页面测试

1、注册用户

地址:localhost:3001

2、登陆成功

3、添加模型

 五、结语

1、小结

本文完全按照官方文档进行部署,难度基本不存在。因部分bug存在,以及改内容是下一节的基础,故而此处进行了简单记录

2、后续内容

下一节想要实现的功能如下:

1、代码运行bisheng后端,使用vscode实现

2、前端代码使用nginx运行

3、其余组件使用docker-compose运行

这样就可以实现真实的开发环境

http://www.xdnf.cn/news/7221.html

相关文章:

  • Kotlin Compose Button 实现长按监听并实现动画效果
  • React Flow 中 Minimap 与 Controls 组件使用指南:交互式小地图与视口控制定制(含代码示例)
  • 精益数据分析(68/126):数据透视表实战与解决方案验证——从问卷分析到产品落地的关键跨越
  • liunx定时任务,centos定时任务
  • eMMC深度解析:嵌入式多媒体卡的硬件电路设计要点
  • 【氮化镓】偏置对GaN HEMT 单粒子效应的影响
  • [Java实战]Spring Boot整合Kafka:高吞吐量消息系统实战(二十七)
  • GStreamer (三)常⽤插件
  • 《AI革命重塑未来五年:医疗诊断精准度翻倍、自动驾驶事故锐减90%,全球科技版图加速变革》
  • 深入理解仿函数(Functors):从概念到实践
  • 如何提高嵌入式软件设计的代码质量
  • MATLAB中NLP工具箱支持聚类算法
  • Apidog MCP服务器,连接API规范和AI编码助手的桥梁
  • 设计模式-面试题
  • CVE-2015-2183 Zeuscart SQL注入漏洞
  • 留给王小川的时间不多了
  • 专题五:floodfill算法(扫雷游戏精讲)
  • 养生指南:重塑健康生活的实用方案
  • idea 安装飞算-javaAI 插件使用
  • FPGA:高速接口JESD204B以及FPGA实现
  • Scala语言基础与函数式编程详解
  • el-upload图片设置了url不显示问题
  • Python操作PDF书签详解 - 添加、修改、提取和删除
  • luckysheet的使用——17.将表格作为pdf下载到本地
  • MetaERP:开启企业数字化管理新时代
  • 【CF】Day62——Codeforces Round 948 (Div. 2) CD (思维 + LCM + 枚举因数 | 思维 + 哈希)
  • @DS多数据源注解失效
  • V4L2应用程序开发-01数据采集流程
  • docker运行Redis
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现Oracle数据库的监控与可视化