covex-nn/docker-symfony

支持docker-compose的Symfony Flex应用程序骨架

4.1.1.1 2018-06-25 14:40 UTC

README

此存储库是用于开发和部署的 Symfony Flex 应用程序骨架,使用 docker-compose。它包含了一套几乎零部署停机时间的 GitLab CI/CD 流水线 程序。

从开发到生产,所有阶段都使用受信任的基 Docker 镜像

  • nginx:1.14
  • debian:stretch-slimSury Debian DPA 用于 PHP
  • mysql:5.7
  • phpmyadmin/phpmyadmin

此存储库是一个 symfony/skeleton composer 项目,通过 环境配置器 使用以下命令启动:

composer global require covex-nn/environment
composer global require covex-nn/environment-repository
composer create-project symfony/skeleton .
composer env:apply docker-ci

用法

使用 composer 创建新的 Symfony Flex 应用程序

composer create-project covex-nn/docker-symfony .

在启动 docker-compose 之前,将两个记录添加到 C:\WINDOWS\System32\Drivers\etc\hosts/etc/hosts 文件

docker.local 127.0.0.1
mysql 127.0.0.1

如果您使用 Docker Toolbox,则执行 docker-machine env,从 DOCKER_HOST 变量获取 IP 地址,并用该 IP 地址替换 127.0.0.1

要使用 PHP 内置 web 服务器 初始化和运行新应用程序,请使用以下命令(只有 MySQLphpMyAdmin 将通过 docker-compose 启动)

docker-compose up -d
phing
php -S localhost:80 -t public

但如果你想使用 Nginx 作为 Web 服务器,或者你的主机上没有安装 PHP 7.2,请执行以下操作代替

cp docker-compose.override.yml.dist docker-compose.override.yml
docker-compose up -d
docker-compose exec php phing

包含 php-fpm 的端点容器使用多阶段 Dockerfile 构建。默认安装了 PHP 扩展 intlpdo_mysqlzipopcachexdebug(用于开发环境),但可以通过简单的 apt-get 扩展 PHP 扩展列表。

  • 为 prod 环境安装了 cron;将您的 crontab 作业添加到 docker/app.crontab

  • cachelog 目录移动到非共享卷,以用于 dev 环境,如 docker-compose.override.ymlvolumes 部分。