docker-compose 安装运行项目
1、准备docker运行环境
安装docker
docker 官网下载 https://www.docker.com/products/docker-desktop
或命令安装
curl -sSL https://get.daocloud.io/docker | sh安装docker-compose
https://www.runoob.com/docker/docker-compose.html
2、下载tmadmin-swoole程序
源码下载地址:https://gitee.com/tianjin-tianmao-software/tmadmin-swoole
解压源码解压到 tmadmin 文件夹下,和 docker-compose 处于同级目录,如下所示:
├─tmswooleadmin
│ ├─admin 后台前端目录
│ ├─server 服务端目录
│ ├─uniapp uniapp手机端目录
│ ├─pc pc前端目录
├─docker-compose
│ ├─mysql mysql目录
│ ├─nginx nginx目录
│ ├─php php目录
│ ├─docker-compose.yml docker-compose 配置文件
│ ├─start.sh 启动脚本3、启动项目
安装容器
# 进入docker-compose目录
cd /docker-compose
# 运行命令:
docker-compose up -d
# 或者执行启动脚本
./start.sh进入PHP容器启动队列、定时任务
# 进入容器:
docker exec -it tmswooleadmin-php bash
# 进入到项目目录:
cd /var/www/server/
# 队列命令:
php think queue:listen
php think queue:work #守护进程
# think-swoole命令
php think swoole
# exit退出容器,在宿主机上启动定时任务,每分钟执行一次命令
docker exec tmadmin-php php /var/www/server/think crontab建议使用 Supervisor 托管 php 的队列服务和swoole服务,保障自动拉起、日志可查,可自行扩展
# 进入容器:
docker exec -it tmswooleadmin-php bash
# 启动supervisor
supervisord -c /etc/supervisor/supervisord.conf
# 查看supervisor进程
supervisorctl status
# 重启swoole服务
supervisorctl restart tmswooleadmin_swoole
# 重启队列服务
supervisorctl restart tmswooleadmin_queue3、访问tmadmin系统
后台地址: http://localhost:8020/sys
手机端地址: http://localhost:8020/app
pc端地址: http://localhost:8020/pc
4、相关信息
MYSQL数据库:
Host:192.168.80.10
Post:3306
name:tmadmin
user:root
pwd:123456Redis信息:
Host:192.168.80.20
Post:6379
db:0
pwd:1234565、常见问题
1. 拉取镜像失败
检查网络,可设置docker镜像代理地址,如图所示:
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]2. 端口被占用
进入 docker-compose.yml 配置文件修改端口,避免服务端口冲突
3. Error response from daemon: Address already in use 报错
一般情况下是ip地址被占用导致,可修改某个容器下的ipv4_address地址
4. 安装tmadmin系统时,文件夹写入权限问题
由于php容器内运行用户和宿主机不一致,需修改文件权限为 757 可通过检验
