2.7 KiB
2.7 KiB
Docker 部署说明
本项目使用 webdevops/php-nginx:7.2-alpine 作为基础镜像。
文件说明
Dockerfile- Docker 镜像构建文件docker-compose.yml- Docker Compose 编排文件.dockerignore- Docker 构建忽略文件docker/nginx/vhost.conf- Nginx 虚拟主机配置
快速启动
1. 安装依赖(首次部署)
在启动 Docker 之前,需要先在宿主机上安装 Composer 依赖:
composer install
2. 启动服务
docker-compose up -d
3. 查看服务状态
docker-compose ps
4. 查看日志
# 查看所有服务日志
docker-compose logs -f
# 查看 web 服务日志
docker-compose logs -f web
# 查看 MySQL 日志
docker-compose logs -f mysql
服务信息
Web 服务
- 访问地址: http://localhost:8080
- 容器名称: weipan_web
- PHP 版本: 7.2
- Web 服务器: Nginx
MySQL 服务
- 主机: mysql (容器内) / localhost:3306 (宿主机)
- 数据库: weipan
- 用户名: weipan
- 密码: weipan123
- Root 密码: root
配置说明
PHP 配置
- 内存限制: 256M
- 执行时间: 300秒
- POST 大小: 50M
- 上传文件大小: 50M
数据库配置
修改 config/database.php 中的数据库连接信息:
'hostname' => 'mysql', // Docker 容器内使用服务名
'database' => 'weipan',
'username' => 'weipan',
'password' => 'weipan123',
常用命令
停止服务
docker-compose stop
重启服务
docker-compose restart
停止并删除容器
docker-compose down
停止并删除容器和数据卷
docker-compose down -v
重新构建镜像
docker-compose build --no-cache
docker-compose up -d
进入容器
# 进入 web 容器
docker-compose exec web sh
# 进入 MySQL 容器
docker-compose exec mysql bash
清理缓存
docker-compose exec web php think clear
目录权限
如果遇到权限问题,可以在容器内执行:
docker-compose exec web chown -R application:application /app
docker-compose exec web chmod -R 777 /app/runtime
生产环境建议
- 修改 MySQL 密码为强密码
- 调整
docker-compose.yml中的端口映射 - 设置合适的环境变量
- 配置数据卷备份策略
- 启用 HTTPS
- 配置防火墙规则
故障排查
查看容器日志
docker-compose logs -f web
检查容器状态
docker-compose ps
测试数据库连接
docker-compose exec mysql mysql -uweipan -pweipan123 weipan
重置权限
docker-compose exec web chown -R application:application /app
docker-compose exec web chmod -R 755 /app
docker-compose exec web chmod -R 777 /app/runtime