本教程只针对使用 Docker
在本地搭建开发环境,服务器部署请参考:服务器部署文档
简单来说,docker是一种虚拟化技术(和虚拟机差不多,没有虚拟机隔离的那么彻底)。
然后我们通过docker下载不同功能的容器来使用;而所有容器都运行在docker之上。
那么,什么是容器?可以通俗的理解为一个个集装箱,每个集装箱封装好了功能。
比如,想开发php,就通过docker下载一个php的容器来运行,那么你就可以开发php了
首先,下载DeskTop Docker后,一步步安装软件。
安装完成后,打开docker显示这个界面,既已代表安装成功了。
MineAdmin 需要用的几个镜像列表:
ixmo/mine-admin
镜像,打开 cmd
或者 终端
# 拉取镜像
docker pull ixmo/mine-admin
# 创建环境容器
docker run -d --name mineadmin -v d:\mineadmin:/opt/www -p 9501:9501 -p 9502:9502 -p 9503:9503 -it ixmo/mine-admin
参数说明:
mysql:5.7
镜像,如果本地宿主机安装有mysql,可跳过# 拉取镜像
docker pull mysql:5.7
# 创建mysql容器
docker run -d -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
参数说明:
redis
镜像,如果本地宿主机安装有redis,可跳过# 拉取镜像
docker pull redis
# 创建redis容器
docker run --name redis -d -p 6379:6379 redis
参数说明:
rabbitmq:management
镜像,如果本地宿主机安装有或者不需要队列功能,可跳过# 拉取镜像
docker pull rabbitmq:management
# 创建rabbitmq容器
docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
参数说明:
docker
、docker-compose
环境nodejs
、npm
、yarn
环境,nodejs
建议装lts
版本mine-ui
目录,前端文件复制到这里hyperf
、mysql
、redis
这三个容器注意:
mysql
和redis
没有映射出来持久化,需要你自己百度一下
# 只启动`hyperf`、`mysql`、`redis`这三个容器
docker-compose up -d hyperf mysql redis
第一次跑要先进容器,跑一遍composer
和mine:install
的命令
# 进hyperf容器
docker-compose exec hyperf /bin/sh
# 查看当前目录,即mineadmin目录
pwd
# /opt/www
# 安装依赖
composer install -vvv
# 安装mineadmin
php bin/hyperf.php mine:install
# mysql和redis填写
- `mysql`的server地址输入`mysql`,端口:`3306`,密码为`12345678`
- `redis`的server地址输入`redis`,没有密码
- 其它一路回车就好
- 第一次 `php bin/hyperf.php mine:install` 是配置`.env` 文件
# 再次执行安装命令
php bin/hyperf.php mine:install
- 这次将执行安装数据
# 退出hyperf容器
exit
提示:
docker-compose.yml
前端映射的是8101
端口,自己修改成想要的端口
# 进入前端目录
cd mine-ui
# 修改mine-ui/.env文件的ip为你服务器ip
npm install
npm run dev 或者 npm run build
# 或者
# yarn install
# yarn dev 或者 yarn build
# 退回mineadmin目录
cd ..
# 启动前端容器
docker-compose up -d nginx-frontend
提示:
hyperf
容器内没有nodejs
、npm
环境,所以要在宿主机安装前端npm
先打包,要是你不小心在打包前就已经起了前端服务,那么可以执行以下命令删除掉前端容器:
# 停止nginx-frontend容器 && 删除nginx-frontend容器
docker-compose stop nginx-frontend && docker-compose rm nginx-frontend
# 输入y,确认删除
# 前端打包完后,单独启动前端服务
docker-compose up -d nginx-frontend
# 可选:查看日志
# docker-compose logs nginx-frontend
super_admin
和admin_role
有问题,要从数据库读取后抄进.env
# 进入mysql容器
docker-compose exec mysql /bin/bash
# 进入mysql客户端
mysql -uroot -p
# 输入密码:12345678
# 选择mineadmin库
use mineadmin;
# 分别查询出`super_admin`和`admin_role`的id
select * from system_user;
select * from system_role;
# 退出mysql
exit
# 退出容器
exit
# 停止和删除redis容器,或者你连进去redis,清空掉缓存
docker-compose stop redis && docker-compose rm redis
# 如有提示,输入y
# 重启容器
docker-compose up -d redis
docker-compose.yml
前端映射的是8101
端口,自己修改成想要的端口
前端访问地址:http://服务器地址:8101
后端地址验证:http://服务器地址:9501
至此,环境已搭建完毕,可以使用 MineAdmin
开发项目啦 !!!
docker-compose的说明有点水,这里应该先npm run dev,再npm run build,在dist文件夹里面看到静态资源再进行下一步。
而且整体来讲,docker-compose和拉取镜像这两种方式尽量分开,最好提示二选一,推荐docker-compose,否则让人一头雾水。
本身框架对windows用户就不太友好,建议这方面文档用心维护下,降低windows用户的入门门槛。
一点点小建议,希望采纳,祝框架越来越好!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
感谢提出的建议,目前精力都放在新版本上,后续文档会继续优化、完善。
假如您有空的话,可以贡献一些文档的编写。
https://gitee.com/xmo/mineadmin-doc
启动的时候报这个错误是什么原因
不是,有这个文件
不知道是不是,php版本问题,你那个docker镜像 composer install的时候会提示php版本太低要高于8.1 啥的,提示要composer update
这个docker部署的教程不适合master的代码了吧,文档这块有更新了吗,另外,docker-compose.yml里的服务都没有hyperf这些,直接运行报错一直在重启
大佬镜像拉下来的是个空文件夹是什么原因啊
登录 后才可以发表评论