Dify本地部署-以Kylin-Server-V10-SP1为例

发布时间:2026/9/15 8:10:45

Dify本地部署-以Kylin-Server-V10-SP1为例 适用系统Kylin Linux Advanced Server V10 (Tercel) / SP1硬件要求CPU ≥ 2核内存 ≥ 4GiB建议 ≥ 8GiB网络要求可访问华为云镜像代理内网/隔离环境见文末离线方案一、前置环境检查在终端执行以下命令确认系统环境echo 系统版本 cat/etc/os-releaseecho CPU 核心数 nprocecho 内存 free-hecho 磁盘空间 df-h/echo SELinux 状态 getenforceecho 防火墙状态 systemctl status firewalld --no-pagerecho Git 版本 git--versionecho 端口占用 ss-tlnp|grep-E:80|:443|:5001|:5003|:5432|:6379||echo✅ 目标端口暂无占用检查标准检查项通过标准未通过处理CPU 2 核升级硬件内存 4 GiB建议至少 8 GiB磁盘剩余 10G清理磁盘SELinuxPermissive 或 Disabled见下文防火墙运行中即可后续放行端口端口 80/443未被占用停用占用程序SELinux 处理如为 Enforcingsetenforce0sed-is/^SELINUXenforcing/SELINUXpermissive//etc/selinux/config二、防火墙端口放行Dify 默认使用以下端口需提前放行firewall-cmd--permanent--add-port80/tcp firewall-cmd--permanent--add-port443/tcp firewall-cmd--permanent--add-port5001/tcp firewall-cmd--permanent--add-port5003/tcp firewall-cmd--permanent--add-port5432/tcp firewall-cmd--permanent--add-port6379/tcp firewall-cmd--reloadfirewall-cmd --list-ports三、安装 Docker二进制方式⚠️为什么用二进制安装Kylin V10 SP1 的 glibc 版本为 2.28Docker 官方最新 RPM29.x要求 glibc 2.34直接安装会报依赖错误。经实测使用Docker 24.0.9 静态二进制包可完美兼容。3.1 清理旧版本如有systemctl stopdocker2/dev/nullrm-f/usr/bin/docker*rm-f/usr/bin/containerd*rm-f/usr/bin/ctrrm-f/usr/bin/runcrm-f/etc/yum.repos.d/docker-ce.reporm-f/etc/yum.repos.d/CentOS-Base.repo yum clean all3.2 下载并安装 Docker 24.0.9cd/tmpcurl-L-k-odocker-24.0.9.tgz https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-24.0.9.tgztar-zxvfdocker-24.0.9.tgzcpdocker/* /usr/bin/3.3 创建 systemd 服务文件cat/usr/lib/systemd/system/docker.serviceEOF [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target firewalld.service Wantsnetwork-online.target [Service] Typenotify ExecStart/usr/bin/dockerd ExecReload/bin/kill -s HUP $MAINPID LimitNOFILEinfinity LimitNPROCinfinity TimeoutStartSec0 Delegateyes KillModeprocess Restarton-failure StartLimitBurst3 StartLimitInterval60s [Install] WantedBymulti-user.target EOF3.4 启动 Docker 并验证systemctl daemon-reload systemctl startdockersystemctlenabledockerecho Docker 版本 docker--versionecho Containerd 版本 containerd--version预期输出Docker version 24.0.9, build 2936816containerd github.com/containerd/containerd v1.7.13 ...四、安装 Docker Compose V2 插件Dify 要求 Docker Compose 2.24.0。mkdir-p/usr/libexec/docker/cli-pluginscurl-Lhttps://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64-o/usr/libexec/docker/cli-plugins/docker-composechmodx /usr/libexec/docker/cli-plugins/docker-compose# 验证dockercompose version预期输出Docker Compose version v2.27.0五、配置 Docker 镜像加速华为云代理国内环境 Docker Hub 直接访问不稳定使用华为云镜像代理swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io可稳定拉取镜像。mkdir-p/etc/dockercat/etc/docker/daemon.jsonEOF { registry-mirrors: [ https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io ], log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } } EOFsystemctl daemon-reload systemctl restartdocker# 验证配置加载dockerinfo|grep-A5Registry Mirrors测试镜像拉取dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/hello-worlddockerrun--rmswr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/hello-world看到Hello from Docker!即表示 Docker 环境完全就绪。六、部署 Dify6.1 克隆源码cd~gitclone https://github.com/langgenius/dify.gitcddify/docker6.2 复制环境配置cp.env.example .env6.3 修改 docker-compose.yaml替换镜像前缀由于daemon.json的 mirror 重定向对部分镜像不生效需直接修改 compose 文件将所有 Docker Hub 镜像替换为华为云代理路径。sed-is|image: langgenius/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/|gdocker-compose.yamlsed-is|image: postgres|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres|gdocker-compose.yamlsed-is|image: redis|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis|gdocker-compose.yamlsed-is|image: nginx|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx|gdocker-compose.yamlsed-is|image: semitechnologies/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/|gdocker-compose.yamlsed-is|image: ubuntu/|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/|gdocker-compose.yamlsed-is|image: busybox|image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox|gdocker-compose.yaml6.4 启动 Difydockercompose up-d预期输出[] Running 15/15 ✔ Network docker_ssrf_proxy_network Created ✔ Network docker_default Created ✔ Container docker-web-1 Started ✔ Container docker-sandbox-1 Started ✔ Container docker-db_postgres-1 Healthy ✔ Container docker-redis-1 Started ✔ Container docker-init_permissions-1 Exited ✔ Container docker-weaviate-1 Started ✔ Container docker-ssrf_proxy-1 Started ✔ Container docker-plugin_daemon-1 Started ✔ Container docker-api_websocket-1 Started ✔ Container docker-api-1 Started ✔ Container docker-worker_beat-1 Started ✔ Container docker-worker-1 Started ✔ Container docker-nginx-1 Started七、部署后验证# 查看容器状态所有应为 Up 或 healthydockercomposeps# 查看异常日志dockercompose logs--tail50|grep-ierror\|fatal# 测试本地访问curl-Ihttp://localhost/install八、访问与初始化部署成功后在浏览器访问http://服务器IP/install首次访问流程设置管理员账号邮箱 密码完成初始化后登录地址为http://服务器IP九、常见问题速查现象原因解决方案nothing provides libc.so.6(GLIBC_2.34)麒麟 glibc 2.28 不兼容 Docker 29.x改用二进制安装 Docker 24.0.9nothing provides container-selinux麒麟源缺少该包二进制安装绕过 RPM 依赖error adding content digest to leaseDocker 与 containerd 版本不匹配重装配套版本24.0.9 1.7.13镜像拉取超时Docker Hub 网络不通使用华为云代理路径直接替换镜像前缀init_permissions拉取失败busybox 镜像未替换补充 sed 替换规则容器反复重启内存不足或数据库未就绪检查docker compose logs十、附录离线部署方案完全无网络环境若服务器完全无外网需在有网络的机器上提前下载镜像# 在有外网的机器上执行dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-api:1.14.2dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-web:1.14.2dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-plugin-daemon:0.6.1-localdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-sandbox:0.2.15dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:15-alpinedockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:6-alpinedockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latestdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/weaviate:1.27.0dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/squid:latestdockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox:latest# 导出为 tar 包dockersave-odify-images.tar swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-api:1.14.2 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-web:1.14.2 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-plugin-daemon:0.6.1-local swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/langgenius/dify-sandbox:0.2.15 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:15-alpine swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:6-alpine swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:latest swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/weaviate:1.27.0 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu/squid:latest swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/busybox:latest# 传到麒麟服务器后导入dockerload-idify-images.tar参考文档Dify 官方文档
延伸阅读

更多相关文章

2026/9/14 15:39:16

I2C总线时钟配置原理与寄存器编程实践详解

1. I2C总线时钟配置的核心原理与寄存器设计I2C总线通信的稳定性,很大程度上取决于SCL时钟信号的精确性。这个时钟信号并非简单地由主控制器的主频分频而来,它需要满足I2C协议规范中关于高低电平最小保持时间的要求,同时还要适应不同从设备的速…

2026/9/14 4:01:14

pyFDA与Amaranth结合:FPGA滤波器设计与实现

pyFDA与Amaranth结合:FPGA滤波器设计与实现 【免费下载链接】pyfda Python Filter Design Analysis Tool 项目地址: https://gitcode.com/gh_mirrors/py/pyfda pyFDA(Python Filter Design Analysis Tool)是一款强大的滤波器设计与分析…

2026/9/15 8:06:41

从二进制到游戏存档:Editor工具选择与实操避坑指南

提到“editor”这个词,可能很多人的第一反应是“不就是编辑器嘛,记事本也能算”。但只要你搜过、查过,就会发现“editor”是个特别广泛又特别容易让人挑花眼的词。有人找的是十六进制编辑工具,有人找的是PDF批注软件,有…

2026/9/15 8:06:41

编辑器选型、配置与效率提升实战指南

开始正文1. 编辑器生态全景与选型思路1.1 先想清楚:你需要的究竟是哪种"editor""editor"这个词,说起来很简单,但真拿到手里的时候,很多人会陷入选择困难。前两年我帮一个刚入门的朋友推荐编辑器,他…

2026/9/15 8:06:41

Editor工具千千万,从二进制到Web调试我如何选型与避坑

今天想聊一个特别宽泛的词:editor。起因是我整理浏览器收藏夹时,发现自己存了一堆名字带 Editor 的软件和插件——010 Editor、PDF-XChange Editor、Mermaid Live Editor、Plist Editor Pro、Header Editor、WS2812 Editor、DRG Save Editor……放在一起…

2026/9/15 8:06:41

2025年拆解纯HTML+CSS教育站:从语义化到响应式布局

简介:一套面向网页设计初学者的教育类网站静态页面源码包,项目名为“趣学网”,全程使用纯 HTML 与 CSS 搭建,完整展示了教育门户常见的课程展示、导航栏、搜索框、登录注册等界面模块。通过分析这些页面,可以快速理解 …

2026/9/15 8:06:41

现代编辑器的本质:DSL解释器与实时反馈引擎

1. “editor”这个词在当下技术生态里到底指什么?“editor”——三个字母,一个日常词汇,但在2024年的开发者语境中,它早已不是Word或记事本的代名词。它是一类高度专业化、上下文敏感、能力边界持续外延的交互式内容构造器。你搜“…

2026/9/15 8:01:40

Agent记忆管理实战:用总结压缩与Milvus搭建长期记忆

1. 先聊一个扎心场景:Agent 又“失忆”了做 Agent 开发的朋友大概率都撞过这堵墙:对话轮次一多,模型突然开始胡说八道,或者干脆报错,提示说超出了 token 上限,回答被截断。更难受的是,明明用户十…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码