covex-nn / docker-symfony
支持docker-compose的Symfony Flex应用程序骨架
Requires
- php: ^7.1.3
- ext-ctype: *
- ext-iconv: *
- doctrine/doctrine-bundle: ^1.8
- doctrine/doctrine-migrations-bundle: ^1.3
- doctrine/orm: ^2.6
- symfony/console: ^4.1
- symfony/flex: ^1.0
- symfony/framework-bundle: ^4.1
- symfony/lts: ^4@dev
- symfony/yaml: ^4.1
Requires (Dev)
- symfony/dotenv: ^4.1
- symfony/phpunit-bridge: ^4.0
Conflicts
README
此存储库是用于开发和部署的 Symfony Flex
应用程序骨架,使用 docker-compose
。它包含了一套几乎零部署停机时间的 GitLab CI/CD 流水线 程序。
从开发到生产,所有阶段都使用受信任的基 Docker 镜像
nginx:1.14
debian:stretch-slim
与 Sury Debian DPA 用于 PHPmysql: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 服务器
初始化和运行新应用程序,请使用以下命令(只有 MySQL
和 phpMyAdmin
将通过 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 扩展 intl
、pdo_mysql
、zip
、opcache
和 xdebug
(用于开发环境),但可以通过简单的 apt-get
扩展 PHP 扩展列表。
-
为 prod 环境安装了
cron
;将您的 crontab 作业添加到docker/app.crontab
。 -
将
cache
和log
目录移动到非共享卷,以用于 dev 环境,如 docker-compose.override.yml 的volumes
部分。