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

前言

很早就想部署一套自己的发卡自动售货系统,研究了很久发现独角数卡相对更加成熟好用,可是折腾技术三年多最怕的就是php和Laravel之类的语言和框架,各种权限,守护之类配置麻烦,加上如果跑在docker里更加头疼,只能先尝试硬装了。

按照官方教程在LNMP.org环境下一步步的按照,涉及到需要修改php,composer,supoervisor,redis,mysql各种依赖,最终算是完美安装成功,使用上各方面都没问题,就是感觉部署太麻烦。于是又找到某大佬制作的docker版本 Apocalypsor/dujiaoka-docker 经过测试也很完美,部署和维护实在是方便。

但是发现基础镜像只支持X86架构,现在甲骨文 ARM 服务器这么火,完美党无法忍受,于是又经过一天的折腾解决了ARM64 架构的基础镜像,所有就有了本教程。

竟然瞎聊了这么多,废话不多说,首先依次感谢以下开发者,docker 制作者的无私分享。

assimon/dujiaoka

Apocalypsor/dujiaoka-docker

部署

项目地址

stilleshan/dockerfiles

demo 示例

https://shop.ioiox.com

准备主目录

创建一个dujiaoka主目录用于存放所有相关配置,数据,数据库和缓存文件。

复制代码
mkdir dujiaoka && cd dujiaoka
# 创建主目录
mkdir storage uploads
chmod -R 777 storage uploads
# 创建数据目录用于挂载

访问项目地址下载env.conf和docker-compose.yml到上述的dujiaoka目录中。

复制代码
wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/dujiaoka/env.conf
wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/dujiaoka/docker-compose.yml
chmod -R 777 env.conf
# 重要步骤

配置 nginx 反向代理

参考domian.conf修改域名和证书路径。

由于 ngixn 安装不同,可能具体配置和路径有所不同,但必需参考以下location ^~ /中的相关配置。

复制代码
    location ^~ / {
        proxy_pass http://127.0.0.1:56789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-Proto  $scheme;

        add_header X-Cache $upstream_cache_status;

        proxy_set_header Accept-Encoding "";
        sub_filter "http://" "https://";
        sub_filter_once off;
    }

启动容器

修改docker-compose.yml中的MySQL密码,首次启动:

复制代码
docker-compose up -d

首次启动后,会自动生成mysql和redis的数据目录。

网页安装

访问配置好的域名进行安装:

  • 将MySQL的地址改为db
  • 将MySQL的用户名改为dujiaoka
  • 将Redis的地址改为redis
  • 填写网站名称
  • 填写网站url地址(例如https://shop.ioiox.com)

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

停止容器

复制代码
docker-compose down

将docker-compose.yml中的INSTALL改为false

将env.conf中的APP_DEBUG改为false

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

再次启动容器

复制代码
docker-compose up -d
# 再次启动开始使用

完成部署

自此已完成安装部署,访问域名开始使用:

  • 容器内含有php,composer,redis,supervisor进程守护,任意设置都会自动生效.完全无需任何其他操作.
  • 所有配置,数据,缓存,数据库都存储在整个dujiaoka目录中,定期备份即可。
  • 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有chmod 777的权限命令,再次docker-compose up -d即可恢复上线。
相关推荐
m0_5873830035 分钟前
无人自助拼豆系统核心功能开发与部署落地全流程实战指南
java·经验分享·后端·struts·架构
独孤九剑打醒他35 分钟前
【原创开源·航空终极篇】氢能航空动力升级:双燃料掺氢、富氧补气与露天储氢安全模型
前端·架构·开源·硬件工程·能源
灯澜忆梦1 小时前
【Docker】#5 | 网络配置
网络·docker·容器
ZXCher1 小时前
危废库应急响应系统设计:越华环保集团泄漏/火灾场景下的自动化与硬件联动架构
大数据·架构·自动化
深入云栈2 小时前
Netty 4.2.x 源码深度解析 (十九):ChannelPool 连接池 —— 连接复用与资源管理
java·后端·架构
刘胡子大叔2 小时前
docker build 跑了 92 分钟还是失败了
docker·容器
她说可以呀2 小时前
Docker 镜像的两种创建方式
java·分布式·docker
feiyu_gao2 小时前
Spec→实现→结晶:一种让 AI 项目不失控的纪律框架
架构·aigc·vibecoding
虎头金猫3 小时前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
马可家的菠萝3 小时前
你的微信“文件传输助手”,是不是已经成了第二个网盘?
前端·后端·架构