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


    前言

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

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

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

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

    assimon/dujiaoka
    Apocalypsor/dujiaoka-docker

    部署

    项目地址

    stilleshan/dockerfiles

    demo 示例

    https://shop.ioiox.com

    准备主目录

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

    1. mkdir dujiaoka && cd dujiaoka
    2. # 创建主目录
    3. mkdir storage uploads
    4. chmod -R 777 storage uploads
    5. # 创建数据目录用于挂载

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

    1. wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/dujiaoka/env.conf
    2. wget https://raw.githubusercontent.com/stilleshan/dockerfiles/main/dujiaoka/docker-compose.yml
    3. chmod -R 777 env.conf
    4. # 重要步骤

    配置 nginx 反向代理

    参考domian.conf修改域名和证书路径。
    由于 ngixn 安装不同,可能具体配置和路径有所不同,但必需参考以下location ^~ /中的相关配置。

    1. location ^~ / {
    2. proxy_pass http://127.0.0.1:56789;
    3. proxy_set_header Host $host;
    4. proxy_set_header X-Real-IP $remote_addr;
    5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    6. proxy_set_header REMOTE-HOST $remote_addr;
    7. proxy_set_header X-Forwarded-Proto $scheme;
    8. add_header X-Cache $upstream_cache_status;
    9. proxy_set_header Accept-Encoding "";
    10. sub_filter "http://" "https://";
    11. sub_filter_once off;
    12. }

    启动容器

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

    docker-compose up -d

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

    网页安装

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

    • 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中的相关配置已经自动变为安装时填写的参数

    再次启动容器

    1. docker-compose up -d
    2. # 再次启动开始使用


     

    完成部署

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

    • 容器内含有php,composer,redis,supervisor进程守护,任意设置都会自动生效.完全无需任何其他操作.
    • 所有配置,数据,缓存,数据库都存储在整个dujiaoka目录中,定期备份即可。
    • 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有chmod 777的权限命令,再次docker-compose up -d即可恢复上线。
  • 相关阅读:
    Dubbo+zookeeper搭建微服务
    NPM 常用命令(十二)
    言言和爸爸的故事——言言明天上幼儿园小班了
    在线pdf请你谨慎打开
    这些阻碍程序员升职加薪的行为,你中招了几个?
    vlan虚拟局域网学习笔记
    数据库实验三 数据查询二
    Godot游戏引擎有哪些优势
    axios介绍以及对axios进行二次封装
    kubernetes|云原生| 如何优雅的重启和更新pod---pod生命周期管理实务
  • 原文地址:https://blog.csdn.net/qq_33689316/article/details/137437750