klke/docker-compose-generator-bundle

生成 docker-compose.yml 文件以测试您的项目

安装次数: 1,254

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 1

开放问题: 0

类型:symfony-bundle

dev-master / 1.x-dev 2020-03-12 14:41 UTC

This package is auto-updated.

Last update: 2024-09-13 00:53:55 UTC


README

命令行 Symfony 工具,用于生成带有预配置服务的 'docker-compose.yml' 文件

alt text

服务

  • 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 生成器,您应该已经安装了以下软件

数据库文件

请记住,您可以在服务外部找到数据库文件

  • Mysql: /docker/mysql/data
  • MongoDB: /docker/mysql/data