docker版fdd,原仓库地址:QL-Emotion-jar 另外在此特别鸣谢grbnb提供方法
docker基础镜像使用的是alpine3.15+nginx_1.18+openjdk8环境:
前端文件存储路径为
/usr/share/nginx/html/
当前分支[三合一版]已增加内置资产查询功能!
资产查询功能内部默认端口8089,如有需求请自行添加外部端口映射!
FDD(QL-Emotion)Linux搭建Docker版本图文教程: https://www.luomubiji.host/?p=898
FDD(QL-Emotion)群晖搭建Docker版本图文教程 https://www.luomubiji.host/?p=911
FDD(QL-Emotion)提取 XDD / 阿东 / 傻妞 与QQ绑定关系并导入FDD https://www.luomubiji.host/?p=922
FDD官网教程文档同步更新: https://ql-emotion.fun/index.php/docs/%e5%b8%ae%e5%8a%a9%e4%b8%ad%e5%bf%83/%e7%9b%b8%e5%85%b3%e6%95%99%e7%a8%8b/
docker run -dit \
-v $PWD/fdd:/fdd \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=emotion \
-e ENABLE_CHANGE=true \
-e SERCET_KEY=abcd \
-p 8088:80 \
-p 3301:3306 \
-p 8089:3100 \
--name fdd \
--restart always \
eyesouls/fdd:latest
ARM机型将latest修改为arm64即可。
参数说明:
| 变量 | 说明 |
|---|---|
| MYSQL_ROOT_PASSWORD | MySQL的root密码,默认123456(可自定义) |
| MYSQL_DATABASE | MySQL启动时创建的数据库名,必须为emotion (不可修改) |
| ENABLE_MYSQL | 是否启用内置MySQL,只有为false时不启用 |
| ENABLE_CHANGE | 是否启用内置资产查询功能,只有为true时启用 |
| SERCET_KEY | 系统密钥(自定义禁止特殊符号),长度必须≥4位,默认值为abcd(可自定义) |
| 8088 | fdd前端网页端口(可自定义) |
| 8089 | 内置资产查询外部连接端口(可自定义) |
| 3301 | 内置MySQL数据库外部连接端口(可自定义) |
docker run -dit \
-v $PWD/fdd/config:/fdd/config \
-e ENABLE_CHANGE=true \
-e ENABLE_MYSQL=false \
-p 8088:80 \
-p 8089:3100 \
--name fdd \
--restart always \
eyesouls/fdd:latest
以上参数和端口请按需修改!!!
- 查看容器运行日志
docker logs -f fdd
- 只有以上日志正常后,fdd才算成功运行,此时前端才能正常使用
浏览器访问
设备ip:8088即可进入!【端口号按需修改】
- 点击管理员登陆,用户名和密码均为
root
进入容器交互模式命令
docker attach fdd
- 进入后若出现无任何提示,说明容器已处于等待输入指令状态,请直接输入即可。可通过查看logs最后打印的日志获取输入提醒!(即输入机器人账号)
- 按提示输入必要的参数即可!使用此命令后每次按
CTRL+C退出时,容器会自动重启!!! - 请使用
CTRL+P+Q结束交互模式,容器才不会重启!!!
- 1、出现如下报错时,说明MySQL数据库启动过程中出现错误,请执行以下命令
①停止容器再删除fdd文件夹并重启容器
(1)停止容器
docker stop fdd
(2)删除数据库文件
rm -rf $PWD/fdd/mysql
(3)重新启动容器
docker restart fdd
- 2、前端出现如下问题,请根据以下情况排查!
(1)查看fdd后台服务是否正常 根据报错的日志排除问题即可
(2)设置的系统密钥长度是否≥4位
系统密钥可通过使用MySQL管理工具连接数据库找到名为sercetkey的表头进行手动修改。
修改完成后请使用docker restart fdd重启容器!
【内置MySQL数据库默认外部端口为3301,用户名:root 密码:123456】
- 3、一键删除容器内的
device.json文件和cache文件夹,解决机器人登陆可能出现的报错问题。
docker exec -it fdd bash -c "rm -rf /fdd/cache /fdd/device.json"

