lch / docker-symfony
配备 Symfony 和 PHPMyAdmin 的即用型 LAMP 堆栈
This package is auto-updated.
Last update: 2020-09-21 15:50:45 UTC
README
此模板是一个即用型可自定义的 LAMP 堆栈,包含 Symfony 和 PHPMyAdmin 集成。**警告:仅适用于 Linux/Mac 用户**。
安装
使用 Composer 初始化项目。
composer create-project lch/docker-symfony target-dir 0.1.2
配置
自定义参数
.env 文件
首先,指定项目所需的参数
目录
- RELATIVE_APP_PATH:这是从项目初始路径开始的相对路径。默认为
./。**注意**:在此路径上创建卷以持久化 Symfony 应用文件。 - LOGS_DIR:日志目录。
主机
- HOST_USER:您当前的登录名。需要确保使用您的当前用户创建(目录...),以保持容器和主机之间的映射
- HOST_UID:您当前的用户主机 ID(uid)。这是在 PHP 容器和主机之间映射 UID 的必要条件,以便您可以通过容器和主机卷访问来编辑文件。
- HOST_GID:您当前的主要组主机 ID(gid)。(尚未使用)
项目
- PROJECT_NAME:项目名称。
数据库
- MYSQL_HOST:数据库主机。必须在
docker-compose.yml文件中等于数据库容器名称(默认mysql)。 - MYSQL_DATABASE:您想要的数据库名称
- MYSQL_USER:在镜像创建时创建的用户
- MYSQL_PASSWORD:您为上述用户想要的数据库密码
- MYSQL_HOST_PORT:您想要能够从主机访问 MySQL 服务器(在主机上)的端口
- MYSQL_PORT:MySQL 实例端口。小心,这是容器中的 MySQL 端口。默认为
3306 - MYSQL_HOST_VOLUME_PATH:默认
./data/mysql/5.7。这是将存储数据库的卷。
端口
您可以使用此模板拥有多个项目,但如果不更改端口,一次只能运行一个项目。
- APPLICATION_WEB_PORT:默认为
8800。 - PHP_MY_ADMIN_PORT:默认为
8801。
用法
有两种方式可以使用此模板:**初始化**和**日常使用**。
初始化
您必须运行 make install-symfony。此脚本将
- 执行
composer create-project命令安装 Symfony。 - 将 Symfony 应用程序的
.env内容复制到现有的.env文件中。 - 将 Symfony 应用程序的
.gitignore内容复制到现有的.gitignore文件中。
注意:一旦更新了 .env 文件,在 Symfony 安装后,您需要编辑添加的元素,以便它们使用预定义变量(例如 MySQL 连接 URL)。
日常使用
然后,在日常使用中,只需运行
make up使系统上线。make down关闭项目并移除容器。
注意:所有设置的卷都将确保持久化应用程序文件和数据库。
Makefile 命令可用
assets-install
执行 Symfony assets:install --symlink 命令。
bash-php
以 www-data 用户在 php 容器中提供一个 shell。
bash-php-root
以 root 用户在 php 容器中提供一个 shell。
build
构建容器。用于强制容器重建。
cache-clear
执行 Symfony 缓存清除命令。
composer-install
执行 composer install。
dsu-dump
运行 doctrine:schema:update --dump-sql。
dsu-force
运行 doctrine:schema:update --force。
down
关闭容器。
encore-dev
生成 Encore 资产(开发模式)。
encore-prod
生成 Encore 资产(生产模式)。
encore-watch
生成 Encore 资产(监控模式)。
fixtures-load
运行 doctrine:fixtures:load。
install-symfony
按照上述说明安装 Symfony。还将安装 Maker 和迁移包。
install-app
执行所有步骤以在 Symfony 安装之上安装您的应用程序。此命令执行
build命令。composer-install命令。composer-install命令。migrate命令。- 配置
Yarn缓存和全局文件夹。 - 安装 NPM 包。
- 运行生产资产生成。
make-migration
运行 make:migration。
migrate
执行doctrine:migrations:migrate命令。
up
使系统处于活动状态。同时将www-data用户ID替换为指定的UID,以避免写入权限问题。
PhpMyAdmin
默认情况下可通过localhost:8801访问。使用MYSQL_USER和MYSQL_PASSWORD进行连接。