在使用 Docker 部署 Dify 并尝试安装第三方插件(如 langgenius/deepseek)时,你可能会遇到如下错误提示:
❌ 安装失败
init environment for plugin langgenius/deepseek:0.0.7 failed too many times, you should consider the package is corrupted or your network is unstable
虽然提示指向“网络不稳定”或“包损坏”,但实际排查发现:Dify 的插件守护进程(plugin_daemon)在初始化插件运行环境时,因缺少系统权限而失败。
🔍 问题分析
Dify 的插件系统依赖一个名为 plugin_daemon 的服务来拉取、解压并运行插件。由于当前系统默认启用了更严格的安全策略,plugin_daemon 容器在尝试创建插件运行环境时,会因无法访问必要的系统资源而失败。
✅ 解决方案
修改 docker-compose.yaml 文件
你需要为 plugin_daemon 服务添加 privileged: true 配置,赋予其更高权限。
💡 注:privileged: true 相当于在运行容器时加上了 --privileged 参数,允许容器访问所有主机设备和功能。
在使用 Docker 部署 Dify 并尝试安装第三方插件(如
langgenius/deepseek)时,你可能会遇到如下错误提示:❌ 安装失败
init environment for plugin langgenius/deepseek:0.0.7 failed too many times, you should consider the package is corrupted or your network is unstable虽然提示指向“网络不稳定”或“包损坏”,但实际排查发现:Dify 的插件守护进程(
plugin_daemon)在初始化插件运行环境时,因缺少系统权限而失败。🔍 问题分析
Dify 的插件系统依赖一个名为
plugin_daemon的服务来拉取、解压并运行插件。由于当前系统默认启用了更严格的安全策略,plugin_daemon容器在尝试创建插件运行环境时,会因无法访问必要的系统资源而失败。✅ 解决方案
修改
docker-compose.yaml文件你需要为
plugin_daemon服务添加privileged: true配置,赋予其更高权限。plugin_daemon: image: docker.1ms.run/langgenius/dify-plugin-daemon:0.3.3-local restart: always privileged: true # 👈 关键配置:启用特权模式 environment: DB_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin} SERVER_PORT: ${PLUGIN_DAEMON_PORT:-5002} # ... 其他环境变量保持不变💡 注:
privileged: true相当于在运行容器时加上了--privileged参数,允许容器访问所有主机设备和功能。