fabriman / symfony-docker
Symfony应用的Docker环境
1.1.4
2024-08-20 08:47 UTC
README
本指南将帮助您设置项目环境,包括安装依赖项和使用提供的shell脚本设置测试数据库。
环境基于
- Ubuntu 22.04 LTS
- Nginx
- PHP 8.2
- MariaDb 11.0.3
Dockerfile包含包括sqlite、node和mssql库在内的完整PHP库面板。完整列表请参阅Dockerfile
安装
composer require fabriman/symfony-docker
要将以下docker-compose文件添加到您的根项目中的示例
services:
server:
build:
dockerfile: ./vendor/fabriman/symfony-docker/runtimes/Dockerfile
command: [ "/usr/bin/supervisord" ]
restart: on-failure
environment:
SERVER_NAME: ${SERVER_NAME:-localhost}, php:80
ports:
- "8001:80"
- "2201:22"
# --------------------------------------
# Avoid volumes if you are using windows (use ssh connection transfer instead)
# Connection for ssh is:
# host: localhost
# port: 2201
# login: root
# password: rootpsw
volumes:
- '.:/var/www/html:cached'
- '/var/www/html/vendor'
- '/var/www/html/var'
- '/var/www/html/node_modules'
# --------------------------------------
links:
- database
database:
image: mariadb:11.0.3
restart: on-failure
environment:
# You should definitely change the password in production
MYSQL_ROOT_PASSWORD: rootpsw
MYSQL_TCP_PORT: 3301
volumes:
- "dbdata:/var/lib/mysql"
ports:
- "3301:3301"
expose:
- "3301"
先决条件
在设置测试环境之前,请确保您已安装以下内容
-
在您的
.env.local
文件上设置APP_NAME环境变量 -
Docker(用于容器管理)
-
在Windows上,打开cmd并将Ubuntu设置为WSL2的默认发行版
$ wsl -l -v #Check your actual Repo and version # If your version is Not Ubuntu 2 $ wsl --install Ubuntu $ wsl -s Ubuntu $ wsl --set-default-version 2
-
Composer(用于PHP依赖项)
-
为fm脚本创建别名
$ echo "alias fm='bash vendor/bin/fm'" >> ~/.bashrc && source ~/.bashrc
运行设置脚本
我们提供了一个shell脚本来自动化设置过程。按照以下步骤运行脚本
-
运行引导
# On Windows, access your wsl and go inside your root path $ wsl $ cd /mnt/c/YOUR_PATH_TO_THE_PROJECT # Run the bootstrap $ fm up:build
访问项目
网站
https://:CHOOSED_PORT_ON_COMPOSE_FILE
创建测试数据库
-
在您的composer.json下的scripts中添加以下行
"test:database:bootstrap": [ "@php bin/console doctrine:schema:drop --force --env=test", "@php bin/console doctrine:schema:create --env=test", "@php bin/console doctrine:fixtures:load -q --env=test" ], "test": "@php bin/phpunit --colors=always"
-
然后运行
$ fm composer test:database:bootstrap
运行测试
$ fm composer test
如有需要,重新构建本地数据库
$ composer test:database:bootstrap
NPM
如果您需要npm运行
fm npm install
fm npm run build
许可证
本项目受MIT许可证许可。有关详细信息,请参阅LICENSE文件。
Author: "Fabrizio Manca",
Email: "fabriziomanca87@gmail.com"