【转载】docker 部署 dujiaoka 独角数卡自动售货系统 支持 X86 和 ARM 架构
type
status
date
slug
summary
tags
category
icon
password
前言
很早就想部署一套自己的发卡自动售货系统,研究了很久发现
独角数卡
相对更加成熟好用,可是折腾技术三年多最怕的就是php
和Laravel
之类的语言和框架,各种权限,守护之类配置麻烦,加上如果跑在docker
里更加头疼,只能先尝试硬装
了。按照官方教程在
LNMP.org
环境下一步步的按照,涉及到需要修改php
composer
supoervisor
redis
,mysql
各种依赖,最终算是完美安装成功,使用上各方面都没问题,就是感觉部署太麻烦。于是又找到某大佬制作的docker
版本 Apocalypsor/dujiaoka-docker 经过测试也很完美,部署和维护实在是方便。但是发现基础镜像只支持
X86架构
,现在甲骨文 ARM 服务器这么火,完美党无法忍受,于是又经过一天的折腾解决了ARM64 架构
的基础镜像,所有就有了本教程。竟然瞎聊了这么多,废话不多说,首先依次感谢以下开发者,docker 制作者的无私分享。
dujiaoka
assimon • Updated Aug 31, 2023
dujiaoka-docker
Apocalypsor • Updated Aug 27, 2023
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
部署
项目地址
demo 示例
准备主目录
创建一个
dujiaoka
主目录用于存放所有相关配置,数据,数据库和缓存文件。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F398b3934-64af-4458-b2ca-05c9f44f29ca%2F861253660.jpg?table=block&id=846a224c-025a-46b5-8ccb-5910b134f5f5&t=846a224c-025a-46b5-8ccb-5910b134f5f5&width=1534&cache=v2)
配置 nginx 反向代理
参考
domian.conf
修改域名和证书路径。由于 ngixn 安装不同,可能具体配置和路径有所不同,但必需参考以下location ^~ /
中的相关配置。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F9a5f435c-9916-409b-bf27-141012663036%2F3205153694.jpg?table=block&id=be43bc9e-dac3-46c2-be86-d51f4b3f73e3&t=be43bc9e-dac3-46c2-be86-d51f4b3f73e3&width=1914&cache=v2)
启动容器
修改
docker-compose.yml
中的MySQL
密码,首次启动:首次启动后,会自动生成
mysql
和redis
的数据目录。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ffd6134ad-7db0-4d94-a1b8-6606efd53a30%2F4203492393.jpg?table=block&id=c459c89b-c641-4e92-ad31-963cbc721184&t=c459c89b-c641-4e92-ad31-963cbc721184&width=1534&cache=v2)
网页安装
访问配置好的域名进行安装:
- 将
MySQL
的地址改为db
- 将
MySQL
的用户名改为dujiaoka
- 将
Redis
的地址改为redis
- 填写网站名称
- 填写网站
url
地址(例如https://shop.ioiox.com)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe943d7fb-c3c1-4f3f-b5cb-72579f0b1a9e%2F987021567.jpg?table=block&id=d7f1acf2-b1d7-4ff0-9eab-f3312d3157ed&t=d7f1acf2-b1d7-4ff0-9eab-f3312d3157ed&width=3300&cache=v2)
点击安装,并成功安装,先修改其他参数后在进行登录使用。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F473942a9-fe79-46e6-b339-762b54442715%2F2014162334.jpg?table=block&id=ca0ecbad-3983-4aaf-9a85-6d1b7bdfafcb&t=ca0ecbad-3983-4aaf-9a85-6d1b7bdfafcb&width=3300&cache=v2)
停止容器
将
docker-compose.yml
中的INSTALL
改为false
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fccf6c8c1-d1ed-4047-b8a2-baae76d8920f%2F1164631554.jpg?table=block&id=ea21be19-2bab-4ab5-883f-234a1b1a62d4&t=ea21be19-2bab-4ab5-883f-234a1b1a62d4&width=890&cache=v2)
将
env.conf
中的APP_DEBUG
改为false
此时可以看到
env.conf
中的相关配置已经自动变为安装时填写的参数![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc46028a0-ff44-42f6-8304-d1ab55847f9d%2F1190296014.jpg?table=block&id=fc96a0a5-6fba-44d1-a603-ad1e56efc494&t=fc96a0a5-6fba-44d1-a603-ad1e56efc494&width=1132&cache=v2)
再次启动容器
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa4573eff-29c6-4885-80e7-796076caa2b6%2F3983934758.jpg?table=block&id=2a8f36c1-6c23-44cb-bb84-99fc67bd6d59&t=2a8f36c1-6c23-44cb-bb84-99fc67bd6d59&width=3298&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0b9379a4-2b8f-4f53-b313-fccab4505cc5%2F725599784.jpg?table=block&id=bf5781ea-50bf-4d9f-9148-d374d8c48253&t=bf5781ea-50bf-4d9f-9148-d374d8c48253&width=3298&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fcd40605b-f556-47ab-a171-4a35222f2830%2F2210779765.jpg?table=block&id=f6955b5d-a92a-4c76-b93a-0278fe6e69e2&t=f6955b5d-a92a-4c76-b93a-0278fe6e69e2&width=3298&cache=v2)
完成部署
自此已完成安装部署,访问域名开始使用:
- 容器内含有
php
composer
redis
supervisor
进程守护,任意设置都会自动生效.完全无需任何其他操作.
- 所有配置,数据,缓存,数据库都存储在整个
dujiaoka
目录中,定期备份即可。
- 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有
chmod 777
的权限命令,再次docker-compose up -d
即可恢复上线。
结语
感谢以下文章提供的技术支持: