【瞎折腾/ragflow】构建docker镜像并部署使用ragflow

news2025/3/10 9:22:34

说在前面

  • 操作系统:win11
  • docker desktop版本:4.29.0
  • docker engin版本:v26.0.0
  • ragflow版本:nightly

安装docker

  • 官网
    在这里插入图片描述
  • 如果是win11,backend建议使用wsl2
    在这里插入图片描述
  • 安装好后打开docker desktop,不然docker命令用不了

下载RAGFlow源码

  • 直接git就行
    git clone https://github.com/infiniflow/ragflow.git
    cd ragflow/
    
  • 修改相关配置,在build时候走国内源
  • 修改Dockerfile
    ARG NEED_MIRROR=0改为ARG NEED_MIRROR=1
    在这里插入图片描述
  • 修改.env
    将以下红框内的取消注释
    在这里插入图片描述
  • 开始艰难的build过程
    docker build -f Dockerfile -t infiniflow/ragflow:nightly .
    
  • 似乎在折腾我的C盘
  • 结果
    **[+] Building 0.0s (0/0)  docker:default
    2025/03/08 02:04:14 http2: server: error reading preface from client //./pipe/docker_engine: file has already been close[+] Building 37.0s (26/44)                                                                               docker:default
    [+] Building 37.1s (26/44)                                                                               docker:default                                                                         docker:default
    [+] Building 510.8s (45/45) FINISHED                                                                     docker:default
     => [internal] load build definition from Dockerfile                                                               0.0s
     => => transferring dockerfile: 8.79kB                                                                             0.0s
     => [internal] load metadata for docker.io/infiniflow/ragflow_deps:latest                                          5.0s
     => [internal] load metadata for docker.io/library/ubuntu:22.04                                                    3.1s
     => [internal] load .dockerignore                                                                                  0.0s
     => => transferring context: 2B                                                                                    0.0s
     => [internal] load build context                                                                                  0.2s
     => => transferring context: 93.88kB                                                                               0.1s
     => FROM docker.io/infiniflow/ragflow_deps:latest@sha256:d963eef897cc6254ef2cadb4977c537b7791492931052df2af180450  0.0s
     => [base  1/15] FROM docker.io/library/ubuntu:22.04@sha256:ed1544e454989078f5dec1bfdabd8c5cc9c48e0705d07b678ab6a  0.0s
     => CACHED [base  2/15] WORKDIR /ragflow                                                                           0.0s
     => CACHED [base  3/15] RUN mkdir -p /ragflow/rag/res/deepdoc /root/.ragflow                                       0.0s
     => CACHED [base  4/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/huggingface.co,target=/  0.0s
     => CACHED [base  5/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/huggingface.co,target=/  0.0s
     => CACHED [base  6/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/,target=/deps     cp -r  0.0s
     => CACHED [base  7/15] RUN --mount=type=cache,id=ragflow_apt,target=/var/cache/apt,sharing=locked     if [ "1" =  0.0s
     => CACHED [base  8/15] RUN if [ "1" == "1" ]; then         pip3 config set global.index-url https://mirrors.aliy  0.0s
     => CACHED [base  9/15] RUN --mount=type=cache,id=ragflow_apt,target=/var/cache/apt,sharing=locked     curl -fsSL  0.0s
     => CACHED [base 10/15] RUN apt update && apt install -y curl build-essential     && if [ "1" == "1" ]; then       0.0s
     => CACHED [base 11/15] RUN cargo --version && rustc --version                                                     0.0s
     => CACHED [base 12/15] RUN --mount=type=cache,id=ragflow_apt,target=/var/cache/apt,sharing=locked     curl https  0.0s
     => CACHED [base 13/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/chrome-linux64-121-0-61  0.0s
     => CACHED [base 14/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/chromedriver-linux64-12  0.0s
     => CACHED [base 15/15] RUN --mount=type=bind,from=infiniflow/ragflow_deps:latest,source=/,target=/deps     if [   0.0s
     => CACHED [production  1/16] WORKDIR /ragflow                                                                     0.0s
     => CACHED [builder 2/8] COPY pyproject.toml uv.lock ./                                                            0.0s
     => CACHED [builder 3/8] RUN --mount=type=cache,id=ragflow_uv,target=/root/.cache/uv,sharing=locked     if [ "1"   0.0s
     => CACHED [builder 4/8] COPY web web                                                                              0.0s
     => CACHED [builder 5/8] COPY docs docs                                                                            0.0s
     => [builder 6/8] RUN --mount=type=cache,id=ragflow_npm,target=/root/.npm,sharing=locked     npm config set reg  118.1s
     => [builder 7/8] COPY .git /ragflow/.git                                                                          0.4s
     => [builder 8/8] RUN version_info=$(git describe --tags --match=v* --first-parent --always);     if [ "0" == "1"  0.4s
     => [production  2/16] COPY --from=builder /ragflow/.venv /ragflow/.venv                                         258.5s
     => [production  3/16] COPY web web                                                                                3.1s
     => [production  4/16] COPY api api                                                                                0.4s
     => [production  5/16] COPY conf conf                                                                              0.3s
     => [production  6/16] COPY deepdoc deepdoc                                                                        0.6s
     => [production  7/16] COPY rag rag                                                                                1.3s
     => [production  8/16] COPY agent agent                                                                            0.5s
     => [production  9/16] COPY graphrag graphrag                                                                      0.4s
     => [production 10/16] COPY agentic_reasoning agentic_reasoning                                                    0.4s
     => [production 11/16] COPY pyproject.toml uv.lock ./                                                              0.6s
     => [production 12/16] COPY docker/service_conf.yaml.template ./conf/service_conf.yaml.template                    0.4s
     => [production 13/16] COPY docker/entrypoint.sh docker/entrypoint-parser.sh ./                                    0.5s
     => [production 14/16] RUN chmod +x ./entrypoint*.sh                                                               1.2s
     => [production 15/16] COPY --from=builder /ragflow/web/dist /ragflow/web/dist                                     5.7s
     => [production 16/16] COPY --from=builder /ragflow/VERSION /ragflow/VERSION                                       0.4s
     => exporting to image                                                                                            61.9s
     => => exporting layers                                                                                           61.8s
     => => writing image sha256:d2b25a65a689b90064667869c1bf308634be66c11d11666c6aa4fb8d281d5fb1                       0.0s
     => => naming to docker.io/infiniflow/ragflow:nightly                                                              0.0s
    
    View build details: docker-desktop://dashboard/build/default/default/cnyvefqf3fr3ol2h3nyvsexxu
    
    What's Next?
      1. Sign in to your Docker account → docker login
      2. View a summary of image vulnerabilities and recommendations → docker scout quickview**
    

问题

  • build web的时候出现的问题
     => [builder 6/8] RUN --mount=type=cache,id=ragflow_npm,target=/root/.npm,sharing=locked     cd web && npm ins  1178.0s
     => => # Done in 629ms.
     => => # info  - [plugin: ./node_modules/@umijs/plugins/dist/tailwindcss] tailwindcss service exited
     => => # Browserslist: caniuse-lite is outdated. Please run:
     => => #   npx update-browserslist-db@latest
     => => #   Why you should do it regularly: https://github.com/browserslist/update-db#readme
     => => # ℹ Compiling Webpack
    ERROR: failed to receive status: rpc error: code = Unavailable desc = error reading from server: EOF
    
    看log似乎是被系统kill掉了,问了下deepseek,似乎是OOM。
    检查了下wsl的配置,发现分配的内存只有2G,修改下内存分配,至少得12G
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2311971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈弗赛恩公式计算长度JavaScript实现

哈弗赛恩公式(Haversine formula)是一种用于计算球面上两点间最短距离的数学方法,尤其适用于地球表面。本文将详细介绍哈弗赛恩公式的原理、应用以及如何使用JavaScript实现它。 一、哈弗赛恩公式原理 在球面几何中,哈弗赛恩公式…

大模型赋能金融行业:从理念到落地实践

思维导图 引言 🌟 随着人工智能技术的飞速发展,大模型正在重塑各行各业,金融领域尤为明显。本文将基于业内领先金融科技公司的实践经验,系统探讨大模型在金融行业的落地应用、面临的挑战以及未来的发展方向。从AI发展历程、能力边…

数据结构篇——串(String)

一、引入 在计算机中的处理的数据内容大致可分为以整形、浮点型等的数值处理和字符、字符串等的非数值处理。 今天我们主要学习的就是字符串数据。本章主要围绕“串的定义、串的类型、串的结构及其运算”来进行串介绍与学习。 二、串的定义 2.1、串的基本定义 串(s…

数据结构--【顺序表与链表】笔记

顺序表 template <class T> class arrList :public List<T> //表示 arrList 类以公有继承的方式继承自 List<T> 类 //公有继承意味着 List<T> 类的公共成员在 arrList 类中仍然是公共成员&#xff0c;受保护成员在 arrList 类中仍然是受保护成员。 { …

算法.习题篇

算法 — 地大复试 模拟 while循环和MOD循环计数 1.约瑟夫问题 http://bailian.openjudge.cn/practice/3254 using namespace std;bool isNoPeople(vector<bool> c)//判断当前数组是否一个小孩都没有了 {bool nopeople true;for (bool ival : c){if ( ival true)nop…

大语言模型进化论:从达尔文到AI的启示与展望

文章大纲 引言大语言模型中的“进化论”思想体现遗传变异过度繁殖和生存斗争大模型“过度繁殖”与“生存竞争”机制解析**一、过度繁殖:技术迭代的指数级爆发****二、生存竞争:计算资源的达尔文战场****三、生存竞争胜出关键要素****四、行业竞争格局演化趋势**核心结论自然选…

编程考古-Borland历史:《.EXE Interview》对Anders Hejlsberg关于Delphi的采访内容(上)

为了纪念Delphi在2002年2月14日发布的25周年(2020.2.12),这里有一段由.EXE杂志编辑Will Watts于1995年对Delphi首席架构师Anders Hejlsberg进行的采访记录。在这次采访中,Anders讨论了Delphi的设计与发展,以及即将到来的针对Windows 95的32位版本。 问: Delphi是如何从T…

系统架构设计师—系统架构设计篇—基于体系结构的软件开发方法

文章目录 概述基于体系结构的开发模型-ABSDM体系结构需求体系结构设计体系结构文档化体系结构复审体系结构实现体系结构演化 概述 基于体系结构&#xff08;架构&#xff09;的软件设计&#xff08;Architecture-Based Software Design&#xff0c;ABSD&#xff09;方法。 AB…

基于Python+Django的网上招聘管理系统

项目介绍 PythonDjango网上招聘系统的设计与实现(Pycharm Django Vue Mysql) 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。 - 前台功能包括&#xff1a;首页、岗位详情页、简历中…

Vue23Web 基礎性拉滿的面試題(2025版)還沒更新完...

Vue2&3 基礎性1. 關於Vue2和Vue3生命週期的差別2. Vue2&3組件之間傳參不同點Vue2 傳遞與接收Vue3 傳遞與接收 (使用script setup語法糖)Vue3 傳遞與接收 (不使用script setup語法糖) 3. Vue2&3 keep-alive 組件Vue2 keep-aliveVue3 keep-alive 進階性爲什麽POST請求…

GitHub神秘组织3小时极速复刻Manus

一、背景 昨夜科技圈被两个关键词刷屏&#xff1a;​Manus激活码炒至6万&#xff0c;​GitHub神秘项目OpenManus突然开源。 Manus之所以如此火爆&#xff0c;是因为在演示视频中自主分析股票、筛选简历、规划旅行的能力。同时&#xff0c;想要体验Manus就需要内测邀请码&…

文件上传漏洞(upload靶场)

目录 Pass-01&#xff1a;前端绕过 方法一&#xff1a;浏览器禁用js 方法二:直接修改或删除js脚本 方法三&#xff1a;修改后缀绕过 Pass-02:服务器检测 Pess-03:黑名单绕过 Pass-04:.htaccess文件 Pass-05:windows特性和user.ini 方法一&#xff1a;php.自动解析为ph…

苦瓜书盘官网,免费pdf/mobi电子书下载网站

苦瓜书盘&#xff08;kgbook&#xff09;是一个专注于提供6英寸PDF和MOBI格式电子书的免费下载平台&#xff0c;专为电子阅读器用户设计。该平台为用户提供了丰富的电子书资源&#xff0c;涵盖文学、历史、科学、技术等多个领域&#xff0c;旨在打造一个全面的电子书资源库。用…

Linux:理解进程,系统调用,进程,进程切换,调度,分时操作系统和实时操作系统,

操作系统要向上提供对应的服务 操作系统&#xff0c;不相信任何用户或者人&#xff1b;------------银行------窗口 因此提供了系统调用&#xff0c;&#xff08;函数调用&#xff09;-->用户和操作系统之间进行某种数据交互 一&#xff1a;系统调用 计算机的各种硬件资…

【javaEE】多线程(基础)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

vscode - 操作整理

文章目录 vscode - 操作整理概述笔记打开文件后&#xff0c;编码另存为配置指定后缀的文件的语言模式语言模式配置 - Batch 安装eol插件配置文件如果用vscode打开的文件没有显示回车&#xff0c;原因及处理vscode启用了信任模式&#xff0c;需要信任工作区才行。 将打开的文件中…

linux 基本命令教程,巡查脚本,kali镜像

linux实操 shutdown练习 Shutdown -h 5 意思是五个小时之后进行重启 新用户密码设置&#xff0c; Useradd 用户名 新建用户 Passwd 进行设置密码 覆盖关机时间 Shutdown -c 取消重启设置 top练习 查看进程 僵尸进程 kill&#xff1a;查看jobs号直接杀死 kill %num 查看…

R语言使用scitable包交互效应深度挖掘一个陌生数据库

很多新手刚才是总是觉得自己没什么可以写的&#xff0c;自己不知道选什么题材进行分析&#xff0c;使用scitable包后这个完全不用担心&#xff0c;选题多到你只会担心你写不完&#xff0c;写得不够快。 今天演示一下使用scitable包深度挖掘一个陌生数据库 先导入R包和数据 li…

【记录一下学习】Embedding 与向量数据库

一、向量数据库 向量数据库&#xff08;Vector Database&#xff09;&#xff0c;也叫矢量数据库&#xff0c;主要用来存储和处理向量数据。 在数学中&#xff0c;向量是有大小和方向的量&#xff0c;可以使用带箭头的线段表示&#xff0c;箭头指向即为向量的方向&#xff0c…

【Linux-网络】从逻辑寻址到物理传输:解构IP协议与ARP协议的跨层协作

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;前言 &#x1f4d6; IP地址的组成 &#x1f516;IPv4 &#x1f516;IPv6 &#x1f4da…