Windows使用docker部署fastgpt出現的一些問題

文章目錄

  • Windows使用docker部署FastGPT出現的一些問題
    • 1.docker部署pg一直重啟的問題
    • 2.重啟MongoDB之后一直出現“Waiting for MongoDB to start...”
    • 3.oneapi啟動不了failed to get gpt-3.5-turbo token encoder

Windows使用docker部署FastGPT出現的一些問題

1.docker部署pg一直重啟的問題

猜測是權限問題,請教了fastgpt的飛書社區之后更改yml文件

解決辦法

將掛載的配置選項改成以下配置volumes:- ./pg/data:/var/lib/postgresql/data && sudo chmod 0750 /var/lib/postgresql/data
或者volumes:- ./pg/data:/var/lib/postgresql/data && sudo chmod 0700 /var/lib/postgresql/data

2.重啟MongoDB之后一直出現“Waiting for MongoDB to start…”

起初是發現fastgpt的網頁打不開

然后查看日志發現MongoDB連不上,查看MongoDB日志發現全都是Waiting for MongoDB to start…

報錯日志:

[1739937319:887261][10:0x7f07fc766c80], file:WiredTiger.wt, connection: __posix_open_file, 815: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted"}}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.903+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":1,"message":"[1739937319:903566][10:0x7f07fc766c80], file:WiredTiger.wt, connection: __posix_open_file, 815: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted"}}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.919+00:00"},"s":"E",  "c":"STORAGE",  "id":22435,   "ctx":"initandlisten","msg":"WiredTiger error","attr":{"error":1,"message":"[1739937319:919680][10:0x7f07fc766c80], file:WiredTiger.wt, connection: __posix_open_file, 815: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted"}}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.920+00:00"},"s":"W",  "c":"STORAGE",  "id":22347,   "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.920+00:00"},"s":"F",  "c":"STORAGE",  "id":28595,   "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"1: Operation not permitted"}}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.920+00:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":688}}
2025-02-19 11:55:19 {"t":{"$date":"2025-02-19T03:55:19.920+00:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}
2025-02-19 11:55:21 Waiting for MongoDB to start...
2025-02-19 11:55:23 Waiting for MongoDB to start...

從錯誤日志來看,MongoDB 無法啟動的原因是 WiredTiger 存儲引擎無法打開文件 /data/db/WiredTiger.wt,提示 Operation not permitted。這通常與文件權限或掛載卷的配置有關。

解決辦法

第一次嘗試是將卷映射關閉掉
...
environment:- MONGO_INITDB_ROOT_USERNAME=myusername- MONGO_INITDB_ROOT_PASSWORD=mypassword
entrypoint:- bash- -c- |
...
發現這個方法重啟之后確實可以訪問fastgpt了,但是我在fastgpt里面加配置之后再重啟容器,我里面配置的東西全沒有了,故選擇第二個方法第二次嘗試使用docker卷映射:
mongo:image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18container_name: mongorestart: alwaysports:- 27017:27017networks:- fastgptcommand: mongod --keyFile /data/mongodb.key --replSet rs0environment:- MONGO_INITDB_ROOT_USERNAME=myusername- MONGO_INITDB_ROOT_PASSWORD=mypasswordvolumes:- mongo_data:/data/dbentrypoint:- bash- -c- |openssl rand -base64 128 > /data/mongodb.keychmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyecho 'const isInited = rs.status().ok === 1if(!isInited){rs.initiate({_id: "rs0",members: [{ _id: 0, host: "mongo:27017" }]})}' > /data/initReplicaSet.js# 啟動MongoDB服務exec docker-entrypoint.sh "$$@" &# 等待MongoDB服務啟動until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; doecho "Waiting for MongoDB to start..."sleep 2done# 執行初始化副本集的腳本mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js# 等待docker-entrypoint.sh腳本執行的MongoDB服務進程wait $$!volumes:mongo_data:這邊使用docker卷來進行映射,這樣重啟之后數據就還在了。

3.oneapi啟動不了failed to get gpt-3.5-turbo token encoder

報錯信息:

failed to get gpt-3.5-turbo token encoder: Get “https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken”: tls: failed to verify certificate: x509: certificate is not authorized to sign other certificates

解決辦法

1.下載文件:https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken

2.將該文件復制一份然后分別改名為:

9b5ad71b2ce5302211f9c61530b329a4922fc6a4

fb374d419588a4632f3f557e76b4b70aebbca790

3.將該文件放在fastgpt/oneapi/cache位置下

4.更改docker-compose文件:

oneapi:container_name: oneapi# image: ghcr.io/songquanpeng/one-api:v0.6.7image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云ports:- 3001:3000depends_on:- mysqlnetworks:- fastgptrestart: alwaysenvironment:# mysql 連接參數- SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi# 登錄憑證加密密鑰- SESSION_SECRET=oneapikey# 內存緩存- MEMORY_CACHE_ENABLED=true# 啟動聚合更新,減少數據交互頻率- BATCH_UPDATE_ENABLED=true# 聚合更新時長- BATCH_UPDATE_INTERVAL=10# 初始化的 root 密鑰(建議部署完后更改,否則容易泄露)- INITIAL_ROOT_TOKEN=fastgpt# 修復無法獲取gpt3.5令牌錯誤- TIKTOKEN_CACHE_DIR=/data/cachevolumes:- ./oneapi:/data

5.重啟docker

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71742.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71742.shtml

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

相關文章

【Python爬蟲(52)】探秘Scrapy:項目結構與配置全解析

【Python爬蟲】專欄簡介:本專欄是 Python 爬蟲領域的集大成之作,共 100 章節。從 Python 基礎語法、爬蟲入門知識講起,深入探討反爬蟲、多線程、分布式等進階技術。以大量實例為支撐,覆蓋網頁、圖片、音頻等各類數據爬取&#xff…

【Android】ViewPager的使用

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><applicationandroid:allowBac…

京東廣告基于 Apache Doris 的冷熱數據分層實踐

一、背景介紹 京東廣告圍繞Apache Doris建設廣告數據存儲服務&#xff0c;為廣告主提供實時廣告效果報表和多維數據分析服務。歷經多年發展&#xff0c;積累了海量的廣告數據&#xff0c;目前系統總數據容量接近1PB&#xff0c;數據行數達到18萬億行&#xff0c;日查詢請求量8…

Windows PyCharm的python項目移動存儲位置后需要做的變更

項目使用的venv虛擬環境&#xff0c;因此項目移動存儲位置后需要重新配置python解釋器的位置&#xff0c;否則無法識別&#xff0c;若非虛擬環境中運行&#xff0c;則直接移動后打開即可&#xff0c;無需任何配置。 PyCharm版本為2021.3.3 (Professional Edition)&#xff0c;其…

前后端對接

前端與后端的對接主要通過 接口 進行數據交互&#xff0c;具體流程和方式如下&#xff1a; 1. 明確需求與接口定義 前后端協商&#xff1a;確定需要哪些接口、接口的功能、請求參數和返回格式。接口文檔&#xff1a;使用工具&#xff08;如 Swagger、Postman、Apifox&#xff…

簡識MQ之Kafka、ActiveMQ、RabbitMQ、RocketMQ傳遞機制

四種主流消息隊列&#xff08;Kafka、ActiveMQ、RabbitMQ、RocketMQ&#xff09;的生產者與消費者傳遞信息的機制說明&#xff0c;以及實際使用中的注意事項和示例&#xff1a; 1. Apache Kafka 傳遞機制 模型&#xff1a;基于 發布-訂閱模型&#xff0c;生產者向 主題&#…

Websocket——心跳檢測

1. 前言&#xff1a;為什么需要心跳機制&#xff1f; 在現代的實時網絡應用中&#xff0c;保持客戶端和服務端的連接穩定性是非常重要的。尤其是在長時間的網絡連接中&#xff0c;存在一些異常情況&#xff0c;導致服務端無法及時感知到客戶端的斷開&#xff0c;可能造成不必要…

tailwindcss 前端 css 框架 無需寫css 快速構建頁面

版本&#xff1a;VUE3 TS 框架 vite 文章中使用tailwindcss 版本&#xff1a; ^3.4.17 簡介&#xff1a; Tailwind CSS 一個CSS 框架&#xff0c;提供組件化的樣式&#xff0c;直接在HTML 中編寫樣式&#xff0c;無需額外自定義CSS &#xff0c;快速&#xff01; 簡潔&#…

MFC開發:如何創建第一個MFC應用程序

文章目錄 一、概述二、MFC 的主要組件三、創建一個MFC窗口四、控件綁定消息函數 一、概述 MFC 是微軟提供的一個 C 類庫&#xff0c;用于簡化 Windows 應用程序的開發。它封裝了 Windows API&#xff0c;提供面向對象的接口&#xff0c;幫助開發者更高效地創建圖形用戶界面&am…

【Git版本控制器】第四彈——分支管理,合并沖突,--no-ff,git stash

&#x1f381;個人主頁&#xff1a;我們的五年 &#x1f50d;系列專欄&#xff1a;Linux網絡編程 &#x1f337;追光的人&#xff0c;終會萬丈光芒 &#x1f389;歡迎大家點贊&#x1f44d;評論&#x1f4dd;收藏?文章 ? 相關筆記&#xff1a; https://blog.csdn.net/djd…

AI助力小微企業技術開發規范化管理 | 雜談

AI助力小微企業技術開發規范化管理 在小型技術研發企業中&#xff0c;人員配置緊張&#xff0c;往往一名員工需要承擔多項職務和任務。例如&#xff0c;后端程序開發人員可能同時要負責需求調研、數據庫設計、后端設計及開發&#xff0c;甚至在某些情況下還需兼任架構師的角色。…

SpringBoot+Vue+微信小程序的貓咖小程序平臺(程序+論文+講解+安裝+調試+售后)

感興趣的可以先收藏起來&#xff0c;還有大家在畢設選題&#xff0c;項目以及論文編寫等相關問題都可以給我留言咨詢&#xff0c;我會一一回復&#xff0c;希望幫助更多的人。 系統介紹 在當下這個高速發展的時代&#xff0c;網絡科技正以令人驚嘆的速度不斷迭代更新。從 5G …

DeepSeek提效實操革命,全場景應用指南 AI提示詞萬能公式四步法以及對話技巧

歡迎來到濤濤聊AI DeepSeek系列文章 三塊顯示器如何擺放效率最高&#xff0c;讓deepseek給深度思考下 阿里云免費試用 DeepSeek大模型。 限時送 100 萬 tokens&#xff0c;快來搶先免費體驗&#xff01;AI 助手不再出現系統繁忙阿里云免費試用 DeepSeek大模型。 限時送 100 萬 …

智慧教室與無紙化同屏技術方案探討與實現探究

引言 隨著教育信息化的不斷發展&#xff0c;智慧教室和無紙化同屏技術逐漸成為提升教學效率和質量的重要手段。大牛直播SDK憑借其強大的音視頻處理能力和豐富的功能特性&#xff0c;在智慧教室和無紙化同屏領域積累了眾多成功案例。本文將深入探討基于大牛直播SDK的智慧教室、…

Linux MySQL 8.0.29 忽略表名大小寫配置

Linux MySQL 8.0.29 忽略表名大小寫配置 問題背景解決方案遇到的問題&#xff1a; 問題背景 突然發現有個大寫的表報不存在。 在Windows上&#xff0c;MySQL是默認支持忽略大小寫的。 這個時候你要查詢一下是不是沒有配置&#xff1a; SHOW VARIABLES LIKE lower_case_table…

【藍橋杯單片機】第十三屆省賽第二場

一、真題 二、模塊構建 1.編寫初始化函數(init.c) void Cls_Peripheral(void); 關閉led led對應的鎖存器由Y4C控制關閉蜂鳴器和繼電器 2.編寫LED函數&#xff08;led.c&#xff09; void Led_Disp(unsigned char ucLed); 將ucLed取反的值賦給P0 開啟鎖存器 關閉鎖存…

【CMake 教程】常用函數與構建案例解析(三)

一、CMake 常用函數簡析 1. 條件判斷 if() / elseif() / else() 在 CMake 腳本中&#xff0c;條件判斷是控制邏輯的重要工具。if() 支持多種比較語句&#xff0c;包括數值、字符串、布爾值和變量存在性等。在條件滿足時執行特定邏輯代碼&#xff0c;下面是典型語法&#xff1…

ASP.NET Core 8.0學習筆記(二十七)——數據遷移:Migrations深入與其他遷移命令

一、數據庫架構的管理 1.EF Core提供兩種方式來保持EF Core的模型與數據庫保持同步。 (1)以數據庫為準&#xff1a;反向工程&#xff08;Db First&#xff09;&#xff0c;適用于中大型工程 (2)以代碼為準&#xff1a;數據遷移&#xff08;Code First&#xff09;&#xff0c;…

Python 基本語法的詳細解釋

目錄 &#xff08;1&#xff09;注釋 &#xff08;2&#xff09;縮進 &#xff08;3&#xff09;變量和數據類型 變量定義 數據類型 &#xff08;4&#xff09;輸入和輸出 輸出&#xff1a;print() 函數 輸入&#xff1a;input() 函數 &#xff08;1&#xff09;注釋 注…

20-R 繪圖 - 餅圖

R 繪圖 - 餅圖 R 語言提供來大量的庫來實現繪圖功能。 餅圖&#xff0c;或稱餅狀圖&#xff0c;是一個劃分為幾個扇形的圓形統計圖表&#xff0c;用于描述量、頻率或百分比之間的相對關系。 R 語言使用 pie() 函數來實現餅圖&#xff0c;語法格式如下&#xff1a; pie(x, l…