CentOS7 + Docker 部署 Dify 超詳細圖文教程

如今Agent在互聯網上大行其道,網上吵得火熱,各個企業也都想搭建自己的Agent。COZE的開源還有最近新出的JoyAgent也都讓大家躍躍欲試,今天為大家帶來的是Dify的部署方式,相比其他工作流平臺,Dify對于整個Agent制作的流程和搭建完整性方面,具有一定的優勢,也有大量的企業實戰經驗。當然各家的部署流程也都大同小異,本文就以Dify為例講解整個搭建流程。希望能促進AI真正的為企業所用,而不是僅僅在2B業務使用時的玩具。

Dify最低的配置要求是2核4G,發現最近阿里云有免費的試用,便采用了阿里云4核8G的云服務器,CentOS系統,使用Docker部署Dify的全流程。在阿里云的選配下,是可以默認部署好Docker的,鑒于并不費勁,而且很多情況需要手工部署,為了給大家做個示例,這塊選擇手工部署Docker。

Docker部署

在 Linux 平臺部署 Docker 前,必須首先明確發行版及其對應的包管理器:Debian 系(Ubuntu、Mint、Kali)采用 APT,而 Red Hat 系(CentOS 7、RHEL 7)則依賴 yum,因而本文使用yum進行安裝。

1、先檢查是否是干凈的docker環境

將原有的docker移除干凈:

sudo yum?remove?docker

這里由于我是干凈的服務器環境,原來沒有部署,可以直接進入到下一步的安裝。

圖片

2、安裝yum中的依賴包:

sudo?yum install -y yum-utils

如果使用?sudo apt-get update?報錯sudo: apt-get:找不到命令,可以嘗試選擇yum包管理器來安裝Docker。

3、添加Docker 倉庫

本文采用的阿里云服務器,就直接采用了阿里云的鏡像來添加比較方便。當然其他國內服務器也可以采用阿里云的鏡像:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、安裝Docker

添加好鏡像后,便可以進行Docker的安裝,在安裝過程中會有兩次下載安裝確認,直接y就可以。

sudo?yum install docker-ce docker-ce-cli containerd.io

圖片

5、完成安裝

安裝完成后,直接使用命令運行:

sudo systemctl?enable?--now docker

圖片

6、安裝Docker Compose

根據Dify的官方文檔,Dify是基于Docker Compose進行安裝,因而需要安裝Docker Compose:

sudo?yum install docker-compose-plugin

Dify部署

1、克隆 Dify 源代碼

直接使用官方git命令克隆:

git?clone?https://github.com/langgenius/dify.git

但由于國內拉取github倉庫的速度過慢,這邊在gitee上同步了倉庫,然后進行拉取,大家也可以自行建一個gitee同步倉庫進行拉取。

git?clone?https://gitee.com/aszhangwendi/dify.git

親測國內的拉取速度還是很快的。

圖片

2、啟動 Dify

(1)進入 Dify 源代碼的 Docker 目錄

cd?dify/docker

(2)復制環境配置文件

cp?.env.example .env

(3)啟動 Docker 容器

這塊根據系統上的 Docker Compose 版本,選擇合適的命令來啟動容器。不同版本的啟動方式略有區別。我這邊是v2.27.1版本,因而命令為:

docker?compose up -d

如果是V1版本的,則使用命令:

docker-compose up -d

這塊要注意的是,有可能會出現Docker鏡像拉取出錯的問題,這塊解決方法:修改/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

將文件內容改成:

{??"registry-mirrors":?[? ??"https://docker.m.daocloud.io",? ??"https://docker.imgdb.de",? ??"https://docker-0.unsee.tech",? ??"https://docker.hlmirror.com",? ??"https://docker.1ms.run",? ??"https://func.ink",? ??"https://lispy.org",? ??"https://docker.xiaogenban1993.com"??]}

然后進行拉取,即可:

圖片

檢查是否所有容器都正常運行:

docker?compose ps

在這個輸出中,你應該可以看到包括 3 個業務服務?api / worker / web,以及 6 個基礎組件?weaviate / db / redis / nginx / ssrf_proxy / sandbox

entrypoi…"? ?worker_beat ? ??2?hours ago ? Up?2?hours ? ? ? ? ? ??5001/tcp

至此,便已經安裝好Dify,可以先前往管理員初始化頁面設置設置管理員賬戶:

NAME                     IMAGE                                       COMMAND                  SERVICE         CREATED       STATUS                 PORTS
docker-api-1             langgenius/dify-api:1.7.2                   "/bin/bash /entrypoi…"   api             2 hours ago   Up 2 hours             5001/tcp
docker-db-1              postgres:15-alpine                          "docker-entrypoint.s…"   db              2 hours ago   Up 2 hours (healthy)   5432/tcp
docker-nginx-1           nginx:latest                                "sh -c 'cp /docker-e…"   nginx           2 hours ago   Up 2 hours             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-plugin_daemon-1   langgenius/dify-plugin-daemon:0.2.0-local   "/bin/bash -c /app/e…"   plugin_daemon   2 hours ago   Up 2 hours             0.0.0.0:5003->5003/tcp, :::5003->5003/tcp
docker-redis-1           redis:6-alpine                              "docker-entrypoint.s…"   redis           2 hours ago   Up 2 hours (healthy)   6379/tcp
docker-sandbox-1         langgenius/dify-sandbox:0.2.12              "/main"                  sandbox         2 hours ago   Up 2 hours (healthy)   
docker-ssrf_proxy-1      ubuntu/squid:latest                         "sh -c 'cp /docker-e…"   ssrf_proxy      2 hours ago   Up 2 hours             3128/tcp
docker-weaviate-1        semitechnologies/weaviate:1.19.0            "/bin/weaviate --hos…"   weaviate        2 hours ago   Up 2 hours             
docker-web-1             langgenius/dify-web:1.7.2                   "/bin/sh ./entrypoin…"   web             2 hours ago   Up 2 hours             3000/tcp
docker-worker-1          langgenius/dify-api:1.7.2                   "/bin/bash /entrypoi…"   worker          2 hours ago   Up 2 hours             5001/tcp
docker-worker_beat-1     langgenius/dify-api:1.7.2                   "/bin/bash /entrypoi…"   worker_beat     2 hours ago   Up 2 hours             5001/tcp
# 本地環境http://localhost/install
# 服務器環境http://your_server_ip/install

通過瀏覽器進入到Dify頁面,進行安裝

圖片

設置好管理員的賬號密碼,然后進入到登錄頁面登錄:

圖片

至此,我們就完成了Dify的部署安裝。

圖片

Dify更新

進入 dify 源代碼的 docker 目錄,按順序執行以下命令:

cd?dify/dockerdocker compose downgit pull origin maindocker compose pulldocker compose up -d

要注意:同步環境變量配置

  • 如果?.env.example?文件有更新,請務必同步修改你本地的?.env?文件。

  • 檢查?.env?文件中的所有配置項,確保它們與你的實際運行環境相匹配。你可能需要將?.env.example?中的新變量添加到?.env?文件中,并更新已更改的任何值。

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

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

相關文章

vscode(MSVC)進行c++開發的時,在debug時查看一個eigen數組內部的數值

vscode進行c開發的時,在debug時查看一個eigen數組內部的數值問題描述解決方案拓展其他可視化使用visual studio時的可視化使用別的編譯器的可視化問題描述 使用vscode進行c開發,編譯器是MSVC,在debug的時候想查看一個eigen數組的數值&#x…

【51單片機】【protues仿真】基于51單片機八路搶答器數碼管系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 1、數碼管顯示 2、主持人按下開始,8位選手開始搶答 3、第一次使用要設置搶答時間,支持掉電存儲 4、選手搶答成功,數碼管會顯示其號碼 5、按下主…

深度學習:CUDA、PyTorch下載安裝

目錄 一、安裝準備 二、安裝CUDA 2.1 查看本機支持的 CUDA 版本及相關信息 2.2 卸載CUDA(可選) 2.3 下載cuda安裝包 2.4 安裝 2.5 配置環境變量 三、安裝PyTorch 3.1 版本選擇 3.2 下載安裝 方法一:直接安裝(不建議,網差的話會死機…

MyBatis-Plus 快速入門 -常用注解

目錄 1. 常用注解 TableName TableId TableField 2. IdType 枚舉 3. 使用 TableField 的常見場景 4. 完整示例 5. 總結 在使用 MyBatis-Plus 的過程中,我們經常會用到一些注解來完成實體類與數據庫表字段之間的映射關系。本文將帶你快速入門,了解…

2025-08-23Excel 條件高亮工具,秒高亮顯示符合篩選條件的行數據

Excel 條件高亮工具,秒高亮顯示符合篩選條件的行數據 先看圖【加班終結者】Excel 條件高亮工具(試用版) ——讓錯誤數據一秒現形,免費先爽 30 次! 你是不是也這樣? ? 財務對賬,1000 行工資表里…

vue 一鍵打包上傳

npm run build之后,將dist文件夾自動壓縮,通過ssh自動連接服務器,把壓縮包放到指定目錄下,然后自動解壓根目錄創建gulpfile.js文件const gulp require(gulp); const GulpSSH require(gulp-ssh); const archiver require(archiv…

【Qt調試】無法查看QString內容

環境Qt版本:6.9.1問題Qt creator進入斷點,Expressions不能查看變量(類型:QString)的內容。解決方法選擇變量右鍵,勾選【Use Debugging Helpers】

防爆自動氣象監測設備:高危環境的 “安全堡壘”

防爆自動氣象監測設備:高危環境的 “安全堡壘” 柏峰【BF-FB】在化工園區、油氣田、礦山等高危行業領域,絲毫馬虎不得。而氣象條件,這個看似平常的因素,實則在安全生產中扮演著舉足輕重的角色。防爆自動氣象監測設備的出現&#x…

《C++進階:引用補充、內聯函數與nullptr 核心用法》

😘個人主頁:Cx330? 👀個人簡介:一個正在努力奮斗逆天改命的二本覺悟生 📖個人專欄:《C語言》《LeetCode刷題集》《數據結構-初階》《C知識分享》 🌟人生格言:心向往之行必能至 前言…

通過python程序將實時監測數據寫入excel軟件進行保存是常用和非常實用的功能,本文教會大家怎么去搞定此功能

目錄 一、功能介紹 二、具體的程序示例 三、實際應用建議 一、功能介紹 本方案的核心功能是持續監聽一個數據源(如傳感器、API接口、消息隊列、其他應用程序等),將獲取到的實時數據流以追加的方式寫入到Excel文件中。同時,方案…

在 Linux 中全局搜索 Word 文檔內容的完整指南

文章目錄 為什么不能直接使用 grep 搜索 Word 文檔? 解決方案:使用 Pandoc 轉換后搜索 步驟 1:安裝 Pandoc 步驟 2:創建搜索腳本 步驟 3:執行搜索(兩者選其一) 一行命令解決方案 高級用法與優化 1. 忽略大小寫搜索 2. 顯示匹配內容 3. 性能優化 注意事項 結論 在日常工作中…

基于STM32單片機智能農業大棚控制系統-插件款 DIY 設計開源(實物+程序+原理圖+其他資料)

目錄 一、項目成品展示 二、功能介紹 三、硬件組成 四、PCB展示 五、程序設計 六、資料分享 資料獲取 查看主頁介紹:兆龍電子單片機設計 一、項目成品展示 項目成品圖片展示: 嗶哩嗶哩視頻鏈接: STM32單片機智能農業大棚控制系統-插件…

如何實現二維CAD與3D建模工程圖關聯一體化出圖 | 中望3D 2026新亮點

本文為CAD芯智庫整理,未經允許請勿復制、轉載!原文轉自:www.xwzsoft.com/h-nd-609.htmlwww.xwzsoft.com/h-nd-609.html許多企業在同時使用二三維CAD軟件時,往往因為2D和3D是不同軟件商開發,很容易遇到問題:…

深入理解 Roo Code 的自動批準功能

在軟件開發過程中,效率與安全往往是兩個需要不斷平衡的主題。 Roo Code 中一項能夠顯著提升效率但也需要謹慎使用的功能——自動批準(Auto-Approval)。如果你經常與 AI 助手協作編碼,這個功能可能會改變你的工作流,但錯…

《一次高并發場景下疑難Bug的深度排查與復盤》

常規Bug如同路上的小石子,彎腰便可清理;但有些隱藏在架構深處、僅在特定場景下爆發的疑難Bug,卻像深淵中的暗礁,不僅會讓程序驟然停擺,更可能消耗團隊數周甚至數月的精力。我曾親歷過這樣一場“戰役”—一個僅在高并發峰值時段出現、無規律觸發系統崩潰的Bug,從最初的毫無…

互聯網大廠Java面試實錄:Spring Boot與微服務架構解析

第一輪:基礎技術棧 面試官: 小C,你能否簡要介紹一下Java SE 8中的Lambda表達式? 小C: Lambda表達式就是Java中的匿名函數,可以簡化代碼,讓代碼更優雅。我記得它可以用來替代匿名類,特別是在集合操作中很有用…

滲透測試報告編寫平臺 | 簡化和自動化滲透測試報告的生成過程。

工具介紹 這是一個基于 FastAPI 和 Vue.js 的 Web 應用程序&#xff0c;旨在簡化和自動化安全測試報告的生成過程。 <AI編寫 能用就行> 主要功能 模板管理: 上傳和管理 .docx 格式的報告模板。報告生命周期管理: 創建、編輯、查看和刪除安全測試報告。漏洞知識庫: 管理和…

Vulkan 學習路線圖

按階段拆解&#xff0c;告訴你每個階段要寫哪些 Demo&#xff0c;逐步從三角形走到完整渲染器。&#x1f539; 第一階段&#xff1a;入門&#xff08;Hello Vulkan&#xff09;目標&#xff1a;跑通 Vulkan 的最小化程序&#xff0c;理解基本對象。 要做的 Demo&#xff1a;創建…

C語言指針5

文章目錄1.sizeof和strlen對比1.1sizeof1.2strlen1.3sizeof和strlen的對比2.數組和指針的筆試題2.1一維數組2.2字符數組2.3二維數組3.指針運算筆試題1.sizeof和strlen對比 1.1sizeof 在學習操作符的時候&#xff0c;我們學習了 sizeof。sizeof 用于計算變量所占內存空間的大小…

【二叉樹 - LeetCode】617. 合并二叉樹

題目&#xff1a; 617. 合并二叉樹 - 力扣&#xff08;LeetCode&#xff09; 題解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(n…