Symfony 4 Docker 环境项目教程

Symfony 4 Docker 环境项目教程

symfony-4-docker-envDocker Environment for Symfony. PHP-FPM, NGINX SSL Proxy, MySQL, LEMP项目地址:https://gitcode.com/gh_mirrors/sy/symfony-4-docker-env

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

symfony-4-docker-env/
├── docker-compose.yml
├── docker/
│   ├── nginx/
│   │   ├── Dockerfile
│   │   └── default.conf
│   ├── php-fpm/
│   │   ├── Dockerfile
│   │   └── php.ini
│   └── mysql/
│       ├── Dockerfile
│       └── my.cnf
├── symfony/
│   ├── bin/
│   ├── config/
│   ├── public/
│   ├── src/
│   ├── templates/
│   ├── tests/
│   ├── translations/
│   ├── var/
│   └── vendor/
├── .env
└── README.md
  • docker-compose.yml: Docker Compose 配置文件,定义了服务的运行方式。
  • docker/: 包含各个服务的Dockerfile和配置文件。
    • nginx/: Nginx 服务的Dockerfile和配置文件。
    • php-fpm/: PHP-FPM 服务的Dockerfile和配置文件。
    • mysql/: MySQL 服务的Dockerfile和配置文件。
  • symfony/: Symfony 项目的根目录,包含项目的所有代码和配置。
  • .env: 环境变量配置文件。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

docker-compose.yml

docker-compose.yml 文件是 Docker Compose 的核心配置文件,定义了如何启动和管理多个 Docker 容器。以下是该文件的主要内容:

version: '3'
services:
  nginx:
    build:
      context: ./docker/nginx
    ports:
      - "80:80"
    volumes:
      - ./symfony/public:/var/www/html/public
    depends_on:
      - php-fpm

  php-fpm:
    build:
      context: ./docker/php-fpm
    volumes:
      - ./symfony:/var/www/html
    depends_on:
      - mysql

  mysql:
    build:
      context: ./docker/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: symfony
      MYSQL_USER: symfony
      MYSQL_PASSWORD: symfony
    volumes:
      - symfony-mysql-data:/var/lib/mysql

volumes:
  symfony-mysql-data:
  • nginx: 定义了 Nginx 服务的构建上下文、端口映射和卷挂载。
  • php-fpm: 定义了 PHP-FPM 服务的构建上下文和卷挂载。
  • mysql: 定义了 MySQL 服务的构建上下文、环境变量和卷挂载。

3. 项目的配置文件介绍

.env

.env 文件用于定义项目的环境变量,以下是该文件的示例内容:

###> blackfire.io secrets ~> replace with yours
BLACKFIRE_CLIENT_ID=
BLACKFIRE_CLIENT_TOKEN=
BLACKFIRE_SERVER_ID=
BLACKFIRE_SERVER_TOKEN=
###< blackfire.io secrets

docker/nginx/default.conf

default.conf 文件是 Nginx 的配置文件,定义了 Nginx 服务的基本配置:

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

docker/php-fpm/php.ini

php.ini 文件是 PHP-FPM 的配置文件,定义了 PHP 的运行参数:

[PHP]
display_errors = On
error_reporting = E_ALL

docker/mysql/my.cnf

my.cnf 文件是 MySQL 的配置

symfony-4-docker-envDocker Environment for Symfony. PHP-FPM, NGINX SSL Proxy, MySQL, LEMP项目地址:https://gitcode.com/gh_mirrors/sy/symfony-4-docker-env

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

平樱玫Duncan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值