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.pswp.cn/diannao/83933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83933.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker介紹與常用命令匯總

docker簡介 docker是什么&#xff1f; Docker 是一個開源的應用容器引擎&#xff0c;它可以讓開發者將應用與運行環境打包成一個標準的、可移植的容器&#xff08;Container&#xff09;&#xff0c;在任何地方都可以快速部署和運行&#xff0c;無需關心底層環境是否一致。 …

Android 中拖拽從一個組件到另外一個組件的寫法(跨容器拖拽)

在 Android 中&#xff0c;拖拽一個圖片&#xff08;例如 ImageView&#xff09;到另一個組件&#xff08;如 LinearLayout、FrameLayout 等容器&#xff09;涉及以下步驟&#xff1a; 準備工作 源組件&#xff1a;你從哪里開始拖動&#xff08;如 ImageView&#xff09;。 目…

火絨互聯網安全軟件:自主引擎,精準防御

在數字時代&#xff0c;網絡安全是每一個用戶都必須重視的問題。無論是個人用戶還是企業用戶&#xff0c;都需要一款高效、可靠的反病毒軟件來保護設備免受惡意軟件的侵害。今天&#xff0c;我們要介紹的 火絨互聯網安全軟件&#xff0c;就是這樣一款由資深工程師主導研發并擁有…

使用亮數據代理IP+Python爬蟲批量爬取招聘信息訓練面試類AI智能體(手把手教學版)

文章目錄 一、為什么要用代理IP&#xff1f;(重要&#xff01;&#xff01;&#xff01;)二、環境準備&#xff08;三件套走起&#xff09;2.1 安裝必備庫&#xff08;pip大法好&#xff09;2.2 獲取亮數據代理&#xff08;官網注冊送試用&#xff09; 三、編寫爬蟲代碼&#x…

Android屏幕采集編碼打包推送RTMP技術詳解:從開發到優化與應用

在現代移動應用中&#xff0c;屏幕采集已成為一個廣泛使用的功能&#xff0c;尤其是在實時直播、視頻會議、遠程教育、游戲錄制等場景中&#xff0c;屏幕采集技術的需求不斷增長。Android 平臺為開發者提供了 MediaProjection API&#xff0c;這使得屏幕錄制和采集變得更加簡單…

互聯網大廠Java求職面試:Spring AI與大模型交互的高級模式與自定義開發

互聯網大廠Java求職面試&#xff1a;Spring AI與大模型交互的高級模式與自定義開發 在當今技術領域&#xff0c;隨著AI和大模型技術的廣泛應用&#xff0c;如何在復雜的系統架構中高效地集成這些技術成為了各大互聯網公司關注的重點。本文將通過一場模擬的面試對話&#xff0c…

MySQL 8.0 OCP 1Z0-908 161-170題

Q161.Examine this command, which executes successfully: cluster.addInstance ( ‘:’,{recoveryMethod: ‘clone’ 1}) Which three statements are true? (Choose three.) A)The account used to perform this recovery needs the BACKUP_ ADMIN privilege. B)A target i…

藍橋杯1447 砝碼稱重

問題描述 你有一架天平和 N 個砝碼&#xff0c;這 N 個砝碼重量依次是 W1,W2,???,WN?。 請你計算一共可以稱出多少種不同的重量&#xff1f; 注意砝碼可以放在天平兩邊。 輸入格式 輸入的第一行包含一個整數 N。 第二行包含 N 個整數&#xff1a;W1,W2,W3,???,WN?…

金融量化智能體,如何開發一個有效的策略?

原創內容第887篇&#xff0c;專注智能量化投資、個人成長與財富自由。 本周重構了網站&#xff0c;升級了最新的回測引擎&#xff0c;以及升級了論壇。 策略年化210%&#xff0c;夏普比3.47&#xff0c;系統源代碼及策略均可下載 年化37.5%&#xff0c;回撤控制在16.8%&…

JavaScript 性能優化:調優策略與工具使用

引言 在當今的 Web 開發領域&#xff0c;性能優化已不再是錦上添花&#xff0c;而是產品成功的關鍵因素。據 Google 研究表明&#xff0c;頁面加載時間每增加 3 秒&#xff0c;跳出率將提高 32%。而移動端用戶如果頁面加載超過 3 秒&#xff0c;有 53% 的用戶會放棄訪問。性能…

為 Jenkins添加 Windows Slave遠程執行 python項目腳本

測試環境 JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe) Jenkins Win11 64 python項目環境 實踐操作 1、新建與配置結點 【系統管理】-> 【管理結點】-> 【新建結點】, 如上&#xff0c;輸入結點名稱&#xff0c;勾選 【Dumb Slave】&#xff0c;點擊【OK】 說明&am…

基于springboot3 VUE3 火車訂票系統前后端分離項目適合新手學習的項目包含 智能客服 換乘算法

? 博主介紹&#xff1a;專注于Java&#xff08;springboot ssm 等開發框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等諸多技術領域和畢業項目實戰、企業信息化系統建設&#xff0c;從業十五余年開發設計教學工作 ☆☆☆ 精彩專欄推薦訂閱☆☆☆☆☆…

btc交易所關鍵需求區 XBIT反彈與上漲潛力分析??

在加密貨幣市場的浪潮中&#xff0c;狗狗幣&#xff08;DOGE&#xff09;近期的走勢吸引了眾多投資者的目光。根據XBIT分析&#xff0c;狗狗幣剛剛踏入關鍵需求區&#xff0c;此前雖從高點大幅下跌了10%&#xff0c;但XBIT去中心化交易所平臺分析師認為&#xff0c;短期內它有望…

寶塔+fastadmin:給項目添加定時任務

一、定時任務腳本編寫 1. 使用 shebang 聲明執行器 #!/usr/bin/env php 這是 Unix/Linux 系統中腳本文件的標準開頭。表示這個腳本使用系統環境變量中的 php 來執行。2. 定義 ThinkPHP 入口路徑并加載框架 define(APP_PATH, __DIR__ . /../../application/); require __DIR__…

每日Prompt:自拍生成搖頭娃娃

提示詞 將這張照片變成一個搖頭娃娃&#xff1a;頭部稍微放大&#xff0c;保持面部準確&#xff0c;身體卡通化。[把它放在書架上]。

【Tools】neovim操作指南

Neovim 中最常見、最實用的操作, 主要針對C 開發需求&#xff1a; &#x1f680; 基礎操作 操作快捷鍵說明保存:w 或 ZZ保存當前文件退出:q 或 ZQ退出當前窗口保存并退出:wq 或 ZZ保存并退出強制退出:q!不保存直接退出撤銷u撤銷上一步重做<C-r>重做撤銷搜索/xxx向下搜索…

Visual Studio 制作msi文件環境搭建

一、插件安裝 a. 插件尋找 在 Visual Studio 2017 中&#xff0c;如果你希望安裝用于創建 MSI 安裝包的插件&#xff0c;第一步是&#xff1a;打開 Visual Studio 后&#xff0c;點擊頂部菜單欄中的 “工具”&#xff08;Tools&#xff09;&#xff0c;然后選擇下拉菜單中的 “…

深入解析 OpenManus:開源 AI 智能體框架的技術原理與實踐

深入解析 OpenManus&#xff1a;開源 AI 智能體框架的技術原理與本地部署指南 在當今人工智能快速發展的時代&#xff0c;智能體&#xff08;Agent&#xff09;技術正逐漸成為推動自動化和智能化的關鍵力量。OpenManus&#xff0c;由 MetaGPT 團隊開發的開源 AI 智能體框架&am…

利用 SQL Server 作業實現異步任務處理,簡化系統架構

在現代企業系統中&#xff0c;異步任務是不可或缺的組成部分&#xff0c;例如&#xff1a; 電商系統中的訂單超時取消&#xff1b; 報表系統中的異步數據導出&#xff1b; CRM 系統中的客戶積分計算。 傳統的實現方式通常涉及引入消息隊列&#xff08;如 RabbitMQ、Kafka&a…

ubuntu sh安裝包的安裝方式

ubuntu sh安裝包的安裝方式以Miniconda2為例 https://repo.anaconda.com/miniconda/ 如果需要python2.7版本可下載以下版本 Miniconda2-latest-Linux-x86_64.sh 打開終端輸入安裝命令 sudo sh Miniconda2-latest-Linux-x86_64.sh 然后按提示安裝&#xff0c;注意安裝位置 …