1.容器操作

原因:因为一些原因必须要使用dify1.9.1,无法使用最新修复版本,但是该版本存在react漏洞以及Next.js漏洞,需要修复
容器启动日志:

┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ dify-web │ default │ 1.9.1 │ cluster │ 23 │ 0s │ 0 │ online │ 0% │ 60.3mb │ │ disabled │
│ 1 │ dify-web │ default │ 1.9.1 │ cluster │ 30 │ 0s │ 0 │ online │ 0% │ 56.6mb │ │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
2026-01-14T00:38:29: PM2 log: [--no-daemon] Continue to stream logs
2026-01-14T00:38:29: PM2 log: [--no-daemon] Exit on target PM2 exit pid=7
00:38:30 0|dify-web | ▲ Next.js 15.5.0
00:38:30 0|dify-web | - Local: http://dbbd9b875910:3000
00:38:30 0|dify-web | - Network: http://dbbd9b875910:3000
00:38:30 0|dify-web | ✓ Starting...
00:38:30 1|dify-web | ▲ Next.js 15.5.0
00:38:30 1|dify-web | - Local: http://dbbd9b875910:3000
00:38:30 1|dify-web | - Network: http://dbbd9b875910:3000
00:38:30 1|dify-web | ✓ Starting...

00:38:30 0|dify-web | ✓ Ready in 226ms
00:38:30 1|dify-web | ✓ Ready in 259ms

1.1进入容器

sudo docker exec -it --user root docker-web-1 /bin/sh

1.2查看对应组件版本

1.2.1 React

cd /app
npm view react version
#输出19.2.3

1.2.2 next.js

cd /app
npm view next version
#输出:16.1.1

1.2更换阿里源

echo "https://mirrors.aliyun.com/alpine/v3.21/main/" > /etc/apk/repositories
echo "https://mirrors.aliyun.com/alpine/v3.21/community/" >> /etc/apk/repositories
# 清空原源文件,写入阿里源(适配 Alpine v3.21)
apk update
# 更新源缓存

1.3 验证源

/app/web # echo "https://mirrors.aliyun.com/alpine/v3.21/main/" > /etc/apk/repositories
/app/web # echo "https://mirrors.aliyun.com/alpine/v3.21/community/" >> /etc/apk/repositories
/app/web # apk update
fetch https://mirrors.aliyun.com/alpine/v3.21/main/x86_64/APKINDEX.tar.gz
fetch https://mirrors.aliyun.com/alpine/v3.21/community/x86_64/APKINDEX.tar.gz
v3.21.5-137-g5140a0d78c3 [https://mirrors.aliyun.com/alpine/v3.21/main/]
v3.21.5-134-g41635b0fc8a [https://mirrors.aliyun.com/alpine/v3.21/community/]
OK: 25405 distinct packages available

1.4 升级React、next.js


npm config set registry https://registry.npmmirror.com
# 2. 更换 npm 镜像(加速安装,避免网络问题)
pnpm add next@15.5.9 react@19.2.3 react-dom@19.2.3 --save --strict-peer-dependencies=false

# 说明:
#- pnpm add 对应 npm install
# - --strict-peer-dependencies=false:忽略 react-18-input-autosize 对 React 18.x 的限制
# - 无需额外清理,pnpm 会自动处理依赖树

示例

pnpm install
# 补全依赖
# 1. 查看最终安装的版本
npm list next react react-dom | grep -E 'next@|react@|react-dom@'

# 正确输出示例(需确认):
# ├── next@15.5.9
# ├── react@19.2.3
# └── react-dom@19.2.3


npm ls --legacy-peer-deps | grep -i "error"
# 检查是否有其他报错

npm ls --legacy-peer-deps | grep -i "warning"
# 检查是否有未解决的依赖警告(可选)

1.5重启容器

exit
sudo docker restart docker-web-1
# 1. 退出容器,直接重启(一步到位释放端口+保留版本)

sudo docker exec -it --user root docker-web-1 /bin/sh
# 2. 重新进入容器,启动 Dify(此时端口已释放,新版 Node 生效)
node -v  
# 验证结果
npm view react version
npm view next version

容器日志:

┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ dify-web │ default │ 1.9.1 │ cluster │ 23 │ 0s │ 0 │ online │ 0% │ 61.4mb │ │ disabled │
│ 1 │ dify-web │ default │ 1.9.1 │ cluster │ 30 │ 0s │ 0 │ online │ 0% │ 57.0mb │ │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
2026-01-14T01:31:17: PM2 log: [--no-daemon] Continue to stream logs
2026-01-14T01:31:17: PM2 log: [--no-daemon] Exit on target PM2 exit pid=7
01:31:18 0|dify-web | ▲ Next.js 15.5.9
01:31:18 0|dify-web | - Local: http://74c1850c8817:3000
01:31:18 0|dify-web | - Network: http://74c1850c8817:3000
01:31:18 0|dify-web | ✓ Starting...
01:31:18 1|dify-web | ▲ Next.js 15.5.9
01:31:18 1|dify-web | - Local: http://74c1850c8817:3000
01:31:18 1|dify-web | - Network: http://74c1850c8817:3000
01:31:18 1|dify-web | ✓ Starting...
01:31:18 0|dify-web | ✓ Ready in 348ms
01:31:18 1|dify-web | ✓ Ready in 339ms
最后修改:2026 年 01 月 14 日
如果觉得我的文章对你有用,请随意赞赏