Windows使用docker部署fastgpt出现的一些问题

news/2025/2/23 12:16:54

文章目录

  • Windows使用docker部署FastGPT出现的一些问题
    • 1.docker部署pg一直重启的问题
    • 2.重启MongoDB之后一直出现“Waiting for MongoDB to start...”
    • 3.oneapi启动不了failed to get gpt-3.5-turbo token encoder

dockerFastGPT_1">Windows使用docker部署FastGPT出现的一些问题

dockerpg_3">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.18
  container_name: mongo
  restart: always
  ports:
    - 27017:27017
  networks:
    - fastgpt
  command: mongod --keyFile /data/mongodb.key --replSet rs0
  environment:
    - MONGO_INITDB_ROOT_USERNAME=myusername
    - MONGO_INITDB_ROOT_PASSWORD=mypassword
  volumes:
    - mongo_data:/data/db
  entrypoint:
    - bash
    - -c
    - |
      openssl rand -base64 128 > /data/mongodb.key
      chmod 400 /data/mongodb.key
      chown 999:999 /data/mongodb.key
      echo 'const isInited = rs.status().ok === 1
      if(!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; do
        echo "Waiting for MongoDB to start..."
        sleep 2
      done

      # 执行初始化副本集的脚本
      mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js

      # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
      wait $$!

volumes:
  mongo_data:
  
这边使用docker卷来进行映射,这样重启之后数据就还在了。

oneapifailed_to_get_gpt35turbo_token_encoder_107">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.7
    image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云
    ports:
      - 3001:3000
    depends_on:
      - mysql
    networks:
      - fastgpt
    restart: always
    environment:
      # 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/cache
    volumes:
      - ./oneapi:/data

5.重启docker


http://www.niftyadmin.cn/n/5863390.html

相关文章

2025吐槽季第一弹---腾讯云EO边缘安全加速平台服务

前言: 关于EO边缘安全加速平台服务 参照:产品概述,具体如下: 边缘安全加速平台 EO(Tencent Cloud EdgeOne,下文简称为 EdgeOne)是国内首款基于全新架构的真正一体化的边缘安全加速平台。提供全面的安全防…

华为云镜像加速器

容器镜像服务-控制台 按顺序操作即可

nginx反向代理以及负载均衡(常见案例)

一、nginx反向代理 1、什么是代理服务器? 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据…

【多模态处理篇二】【深度揭秘:DeepSeek视频理解之时空注意力机制解析】

一、为啥要搞视频理解这事儿 咱先唠唠为啥视频理解这么重要哈。现在这互联网时代,视频那可是铺天盖地的。你刷短视频平台,看在线电影,玩游戏直播,到处都是视频。但是计算机它一开始可不懂视频里到底是啥意思,它看到的就是一堆像素点和声音信号。 视频理解呢,就是要让计…

PyTorch v2.6 Overview

PyTorch v2.6 Overview Python APILibraries PyTorch 是一个优化的张量库,用于使用 GPU 和 CPU 进行深度学习。 Python API 序号API名称解释1torchPyTorch 核心库(中文:火炬)PyTorch 的核心库,提供了张量操作、自动求导等基础功能。2torch.nn神经网络模…

(java/Spring boot)使用火山引擎官方推荐方法向大模型发送请求

首先在maven里面引入官方依赖 <dependency><groupId>com.volcengine</groupId><artifactId>volcengine-java-sdk-ark-runtime</artifactId><version>LATEST</version></dependency>然后我们编写测试类 package com.volcengin…

CSS滤镜(filter)和混合模式(blend mode)的使用场景

CSS滤镜&#xff08;filter&#xff09;和混合模式&#xff08;blend mode&#xff09;的使用场景 CSS 滤镜&#xff08;filter&#xff09;1. 图像处理灰度化模糊效果色相旋转饱和度调整亮度调整对比度调整 2. 背景效果背景模糊 3. 文本效果文本阴影 4. 动画效果动态滤镜 混合…

深入理解设计模式之策略模式

深入理解设计模式之策略模式 在软件开发的广袤领域中,我们常常面临着各种各样的业务需求,其中一个常见的问题是如何应对不同场景下的多种行为或算法。策略模式(Strategy Pattern)作为一种行为型设计模式,为解决这类问题提供了一个优雅且灵活的解决方案。它通过将不同的算…