Docker Symfony 项目教程

Docker Symfony 项目教程

docker-symfony :whale: A docker multicontainer with NGINX, PHP7-FPM, MySQL and ELK (Elasticsearch Logstash and Kibana) 项目地址: https://gitcode.com/gh_mirrors/doc/docker-symfony

1. 项目的目录结构及介绍

docker-symfony/
├── doc/
│   └── custom.md
├── elk/
│   └── logstash/
├── nginx/
├── php7-fpm/
├── .env.dist
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── docker-compose.yml
└── app/
    └── config/
        └── parameters.yml

目录结构介绍

  • doc/: 包含项目的自定义文档,例如如何添加可选容器(如Redis、PHPMyAdmin)的说明。
  • elk/: 包含ELK(Elasticsearch, Logstash, Kibana)堆栈的配置文件。
  • nginx/: 包含Nginx服务器的配置文件。
  • php7-fpm/: 包含PHP-FPM的配置文件。
  • app/: 包含Symfony应用程序的配置文件,如parameters.yml
  • .env.dist: 环境变量的模板文件。
  • .gitignore: Git忽略文件列表。
  • .travis.yml: Travis CI的配置文件。
  • LICENSE: 项目的许可证文件。
  • README.md: 项目的README文件,包含项目的介绍和使用说明。
  • docker-compose.yml: Docker Compose的配置文件,定义了项目的容器和服务。

2. 项目的启动文件介绍

docker-compose.yml

docker-compose.yml 是Docker Compose的配置文件,定义了项目的容器和服务。以下是文件的主要内容:

version: '3'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: symfony
      MYSQL_USER: symfony
      MYSQL_PASSWORD: symfony
    volumes:
      - db-data:/var/lib/mysql

  php:
    build:
      context: .
      dockerfile: php7-fpm/Dockerfile
    volumes:
      - .:/var/www/symfony
    depends_on:
      - db

  nginx:
    build:
      context: .
      dockerfile: nginx/Dockerfile
    ports:
      - "80:80"
    volumes:
      - .:/var/www/symfony
    depends_on:
      - php

  elk:
    build:
      context: .
      dockerfile: elk/Dockerfile
    ports:
      - "81:80"
    volumes:
      - ./logs:/var/log/nginx
    depends_on:
      - php

volumes:
  db-data:

启动步骤

  1. 构建容器: 运行 docker-compose build 命令来构建容器。
  2. 启动容器: 运行 docker-compose up -d 命令来启动容器。

3. 项目的配置文件介绍

.env.dist

.env.dist 是环境变量的模板文件,用户可以根据需要创建 .env 文件并进行自定义配置。

app/config/parameters.yml

parameters.yml 是Symfony应用程序的配置文件,定义了数据库连接等参数。

parameters:
    database_host: db
    database_port: null
    database_name: symfony
    database_user: symfony
    database_password: symfony

nginx/nginx.conf

nginx.conf 是Nginx服务器的配置文件,定义了服务器的监听端口、日志路径等。

php7-fpm/php-fpm.conf

php-fpm.conf 是PHP-FPM的配置文件,定义了PHP-FPM的进程管理、日志路径等。

elk/logstash/logstash.conf

logstash.conf 是Logstash的配置文件,定义了日志的输入、过滤和输出规则。

通过以上配置文件,用户可以自定义项目的运行环境,满足不同的开发和生产需求。

docker-symfony :whale: A docker multicontainer with NGINX, PHP7-FPM, MySQL and ELK (Elasticsearch Logstash and Kibana) 项目地址: https://gitcode.com/gh_mirrors/doc/docker-symfony

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廉欣盼Industrious

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值