Docker部署dujiaoka独角数卡自动售货系统 支持X86和ARM架构

前言
很早就想部署一套自己的发卡自动售货系统,研究了很久发现独角数卡相对更加成熟好用,可是折腾技术三年多最怕的就是php和Laravel之类的语言和框架,各种权限,守护之类配置麻烦,加上如果跑在docker里更加头疼,只能先尝试硬装了。
按照官方教程在LNMP.org环境下一步步的按照,涉及到需要修改php,composer,supoervisor,redis,mysql各种依赖,最终算是完美安装成功,使用上各方面都没问题,就是感觉部署太麻烦。于是又找到某大佬制作的docker版本 Apocalypsor/dujiaoka-docker 经过测试也很完美,部署和维护实在是方便。
但是发现基础镜像只支持X86架构,现在甲骨文 ARM 服务器这么火,完美党无法忍受,于是又经过一天的折腾解决了ARM64 架构的基础镜像,所有就有了本教程。
部署
项目地址
https://github.com/stilleshan/dockerfiles/tree/main/dujiaoka
准备主目录
创建一个dujiaoka主目录用于存放所有相关配置,数据,数据库和缓存文件。
1 | mkdir dujiaoka && cd dujiaoka |

访问项目地址下载env.conf和docker-compose.yml到上述的dujiaoka目录中。
1 | chmod -R 777 env.conf |
启动容器
修改docker-compose.yml中的MySQL密码,首次启动:
1 | docker-compose up -d |
首次启动后,会自动生成mysql和redis的数据目录。

网页安装
访问配置好的域名进行安装:
- 将
MySQL的地址改为db - 将
MySQL的用户名改为dujiaoka - 将
Redis的地址改为redis - 填写网站名称
- 填写网站
url地址

点击安装,并成功安装,先修改其他参数后在进行登录使用。

停止容器
1 | docker-compose down |
将docker-compose.yml中的INSTALL改为false

将env.conf中的APP_DEBUG改为false
此时可以看到env.conf中的相关配置已经自动变为安装时填写的参数

是否开启https (前端开启了后端也必须为true)

再次启动容器
1 | docker-compose up -d |



完成部署
自此已完成安装部署,访问域名开始使用:
- 容器内含有
php,composer,redis,supervisor进程守护,任意设置都会自动生效.完全无需任何其他操作. - 所有配置,数据,缓存,数据库都存储在整个
dujiaoka目录中,定期备份即可。 - 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有
chmod 777的权限命令,再次docker-compose up -d即可恢复上线。







