emakinafr / docker-proximis
满足Proximis要求的Docker环境
Requires
- php: ^8.1.0
- symfony/filesystem: ^4.3 || ^5.0
README
此仓库允许创建满足Proximis Omnichannel要求的Docker环境。
要求
安装
此过程假定Docker Engine和Docker Compose已正确安装。否则,在继续之前,您应该查看安装文档。
将软件包添加到开发需求
此Docker环境作为Composer包提供,因此可以像PHP依赖项一样检索。要将环境作为开发需求添加,只需在项目目录内输入以下命令。
# Add the package to your development dependencies composer require --dev emakinafr/docker-proximis # Move several configuration files into your project directory composer exec docker-local-install
第二个命令将复制多个文件到您的项目中,以便您可以在不修改vendor文件的情况下自定义环境。
Nginx服务器
默认的Nginx配置位于docker/local/nginx.conf
。您可以根据需要修改它,例如配置您自己的本地域名。默认情况下,此配置使用域名来检索和使用正确的配置文件,以供CHANGE_CONFIG_NAME
环境变量使用。例如,如果您的域名app是proximis-demo-fr.localhost
,则CHANGE_CONFIG_NAME
的值将是proximis-demo-fr.local
。
启动环境
make env-start
这就完成了!🚀
Proximis项目的配置
此操作可以通过PHP-FPM容器完成。
make env-php
一旦进入容器,官方文档将解释所有剩余的步骤。
环境变量
在docker/local/.env
文件中描述了多个环境变量。
DOCKER_PHP_IMAGE
定义用于php
容器的镜像。有三个可能的值:proximis_php
(默认值),proximis_php_blackfire
或proximis_php_xdebug
。
BLACKFIRE_*
定义本地分析应用程序所需的凭据。您可以在官方文档中找到更多详细信息。
MYSQL_*
定义本地设置MySQL服务器所需的凭据。您可以在官方文档中找到更多详细信息。
Makefile
在仓库中提供了一个Makefile,以简化Docker环境的用法。为了使用它,您必须处于其目录中。但是,由于此文件非常有用,并且我们经常使用相同的命令,您项目中的Makefile
也可能存在。
为了避免需要移动到执行正确的文件,您可以将在环境目录中找到的Makefile包含在项目目录中的Makefile中。
───────┼───────────────────────────────────────────────────────────────────────
│ File: ~/www/myproject/Makefile
───────┼───────────────────────────────────────────────────────────────────────
1 │ # Project specific variables
2 │ DOCKER_PATH := ./vendor/emakinafr/docker-proximis
3 │ MAKEFILE_DIRECTORY := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
4 │
5 │ # Retrieve the Makefile used to manage the Docker environment
6 │ export COMPOSE_FILE := $(DOCKER_PATH)/docker-compose.yml
7 │ include $(DOCKER_PATH)/Makefile
8 │
9 │ [...]
使用这种结构,您可以直接从项目执行环境目标,如env-start
或env-php
,而无需将环境添加到您的仓库中。