使用docker-symfony栈可快速部署symfony应用:拉取项目、绑定域名、放入代码、修改数据库配置后,执行docker-compose up即可启动nginx、php-fpm、mysql和elk服务。

用 Docker 部署 Symfony 应用,核心是把 Web 服务、PHP 运行时、数据库和日志系统打包成可复用、环境一致的容器组。不需要从零写所有配置,推荐直接使用成熟的 docker-symfony 开源栈——它已预集成 Nginx、PHP-FPM(PHP 8)、MySQL 和 ELK 日志分析,10 分钟内就能跑起一个企业级开发环境。
第一步:拉取并准备基础环境
确保本地已安装 Docker Engine(20.10+)和 Docker Compose(v2+)。然后执行:
- 克隆项目:
git clone https://gitcode.com/gh_mirrors/do/docker-symfony - 进入目录:
cd docker-symfony - 绑定本地域名:在
/etc/hosts中添加一行127.0.0.1 symfony.localhost
第二步:对接你的 Symfony 代码
把你的应用代码放进 ./symfony/ 目录(注意不是根目录)。再按版本调整数据库连接配置:
- Symfony symfony/app/config/parameters.yml,把
database_host改为db - Symfony ≥ 4:编辑
symfony/.env,确保DATABASE_URL中的主机名是db,例如:mysql://root:password@db:3306/symfony
第三步:一键启动完整服务栈
在项目根目录运行:
使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。
docker-compose up
首次运行会自动拉取镜像、构建 PHP/Nginx 容器,耗时约 3–5 分钟。成功后即可访问:
- Symfony 应用:https://www.php.cn/link/1109171419a1b66ae0d9168429adfb61
- phpMyAdmin(数据库管理):https://www.php.cn/link/1109171419a1b66ae0d9168429adfb61:8080
- Kibana(日志可视化):https://www.php.cn/link/1109171419a1b66ae0d9168429adfb61:81
第四步:按需定制与调试
所有服务参数都可通过根目录的 .env 文件调整,比如:
- 改 Nginx 端口:设置
NGINX_PORT=8081 - 设数据库密码:修改
MYSQL_ROOT_PASSWORD - 启用 Xdebug:设
PHP_XDEBUG_MODE=debug,再执行docker-compose build php重建容器
日志文件默认保存在宿主机 ./logs/symfony 和 ./logs/nginx,方便排查问题。










