klke / docker-compose-generator-bundle
生成 docker-compose.yml 文件以测试您的项目
dev-master / 1.x-dev
2020-03-12 14:41 UTC
Requires
- php: >=5.3.3
- symfony/console: ^2.3 || ^3.0 || ^4.0 || ^5.0
- symfony/filesystem: ^2.8 || ^3.4 || ^4.4 || ^5.0
- twig/twig: ^1.5 || ^2.4 || ^3.0
This package is auto-updated.
Last update: 2024-09-13 00:53:55 UTC
README
命令行 Symfony 工具,用于生成带有预配置服务的 'docker-compose.yml' 文件
服务
- Nginx
- Php-fpm
- Elastic Search
- Kibana
- Mysql
- Redis
- RabbitMQ
- MongoDB
- Mailcatcher
为什么不用 Symfony-cli 服务器?
要测试 Symfony-cli 服务器上不同版本的 php,您必须在您的电脑上安装所有版本,这不太方便。使用 docker-compose-generator 可以轻松地从 "docker_compose_generator.yaml" 文件中更改版本。
入门指南
使用以下命令安装它
php composer.phar require klke/docker-compose-generator
将此包添加到您的 Symfony 应用程序中(在 Symfony < 4)
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Klke\DockerComposeGeneratorBundle\DockerComposeGeneratorBundle(),
// ...
);
}
如果您正在使用 Symfony 2.8,您需要将以下行添加到 'app/config/config.yml' 文件中
kernel.project_dir: '%kernel.root_dir%/..'
在 >= Symfony 4 与 Symfony Flex 的情况下,所有操作都将自动完成。
配置
您可以在 'config/packages/docker_compose_generator.yaml' 文件中放置以下配置来自定义镜像版本、密码和其他许多选项
docker_compose_generator:
services:
nginx:
version: latest
port: 8087
options:
- { name: HOST_NAME, value: localhost }
php:
version: 7.2-fpm
port: 9011
mysql:
version: 8
port: 3306
options:
- { name: MYSQL_USER, value: symfony }
- { name: MYSQL_PASSWORD, value: root }
redis:
version: 3.2
port: 6379
mongodb:
version: latest
port: 27017
options:
- { name: MONGODB_USER, value: guest }
- { name: MONGODB_PASS, value: guest }
elasticsearch:
version: 6.8.5
port: 9200
kibana:
version: 6.8.6
port: 5601
rabbitmq:
version: latest
port: 5672
extra_ports:
- {name: rabbitmq_manager, port: 15672}
options:
- { name: RABBITMQ_DEFAULT_USER, value: guest }
- { name: RABBITMQ_DEFAULT_PASS, value: guest }
- { name: RABBITMQ_DEFAULT_VHOST, value: mainrabbit }
mailcatcher:
version: latest
port: 1025
extra_ports:
- {name: webmail, port: 1080}
先决条件
为了能够运行和使用 docker-compose 生成器,您应该已经安装了以下软件
- Docker: https://www.docker.com/
- Docker-compose 工具: https://github.com/docker/compose
数据库文件
请记住,您可以在服务外部找到数据库文件
- Mysql: /docker/mysql/data
- MongoDB: /docker/mysql/data