chore(docker): 去除xdebug依赖,优化.env 环境变量

This commit is contained in:
2025-12-16 09:41:03 +08:00
parent 157ea7f46d
commit 09c859750e
7 changed files with 44 additions and 77 deletions

View File

@@ -27,23 +27,18 @@ services:
# 不然ThinkPHP 6.x 系列,会只加载 .env 文件,而不会加载 .env.local 文件,导致 .env.local 文件中的配置不会生效 # 不然ThinkPHP 6.x 系列,会只加载 .env 文件,而不会加载 .env.local 文件,导致 .env.local 文件中的配置不会生效
APP_ENV: ${APP_ENV:-local} APP_ENV: ${APP_ENV:-local}
APP_DEBUG: ${APP_DEBUG:-true} APP_DEBUG: ${APP_DEBUG:-true}
XDEBUG_CONFIG: ${XDEBUG_CONFIG:-client_host=host.docker.internal client_port=9003}
PHP_IDE_CONFIG: serverName=docker-php
ports: ports:
- "${PHP_FPM_PORT:-9000}:9000" # PHP-FPM - "${PHP_FPM_PORT:-9000}:9000" # PHP-FPM
- "${XDEBUG_POST:-9003}:9003" # Xdebug
volumes: volumes:
- ./:/var/www/all_source - ./:/var/www/all_source
- ./src:/var/www/html - ./src:/var/www/html
# 更新下载源列表以加速apt-get # 更新下载源列表以加速apt-get
- ./docker/debian/sources.list:/etc/apt/sources.list:ro - ./docker/debian/sources.list:/etc/apt/sources.list:ro
- ./docker/php/php.ini:/usr/local/etc/php/php.ini:ro - ./docker/php/php.ini:/usr/local/etc/php/php.ini:ro
- ./docker/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
- xdebug_logs:/tmp # Xdebug 日志目录
depends_on: depends_on:
- db - db
healthcheck: healthcheck:
test: ["CMD", "bash", "-c", "curl -f http://localhost:9000/status && ps aux | grep '[p]hp think cron:schedule'"] test: ["CMD", "bash", "-c", "curl -f http://localhost:9000/status"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -119,7 +114,6 @@ services:
volumes: volumes:
mysql_db_data: mysql_db_data:
redis_data: redis_data:
xdebug_logs:
networks: networks:
sass-platform-net: sass-platform-net:

View File

@@ -25,23 +25,18 @@ services:
# 不然ThinkPHP 6.x 系列,会只加载 .env 文件,而不会加载 .env.local 文件,导致 .env.local 文件中的配置不会生效 # 不然ThinkPHP 6.x 系列,会只加载 .env 文件,而不会加载 .env.local 文件,导致 .env.local 文件中的配置不会生效
APP_ENV: ${APP_ENV:-development} APP_ENV: ${APP_ENV:-development}
APP_DEBUG: ${APP_DEBUG:-true} APP_DEBUG: ${APP_DEBUG:-true}
XDEBUG_CONFIG: ${XDEBUG_CONFIG:-client_host=host.docker.internal client_port=9003}
PHP_IDE_CONFIG: serverName=docker-php
ports: ports:
- "${PHP_FPM_PORT:-9000}:9000" # PHP-FPM - "${PHP_FPM_PORT:-9000}:9000" # PHP-FPM
- "${XDEBUG_POST:-9003}:9003" # Xdebug
volumes: volumes:
- ./:/var/www/all_source - ./:/var/www/all_source
- ./src:/var/www/html - ./src:/var/www/html
# 更新下载源列表以加速apt-get # 更新下载源列表以加速apt-get
- ./docker/debian/sources.list:/etc/apt/sources.list:ro - ./docker/debian/sources.list:/etc/apt/sources.list:ro
- ./docker/php/php.ini:/usr/local/etc/php/php.ini:ro - ./docker/php/php.ini:/usr/local/etc/php/php.ini:ro
- ./docker/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
- xdebug_logs:/tmp # Xdebug 日志目录
depends_on: depends_on:
- db - db
healthcheck: healthcheck:
test: ["CMD", "bash", "-c", "curl -f http://localhost:9000/status && ps aux | grep '[p]hp think cron:schedule'"] test: ["CMD", "bash", "-c", "curl -f http://localhost:9000/status"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
@@ -129,13 +124,7 @@ volumes:
type: none type: none
o: bind o: bind
device: ./docker/redis_data/${APP_ENV} device: ./docker/redis_data/${APP_ENV}
xdebug_logs:
name: ${PROJECT_NAME}_${APP_ENV}_xdebug_logs
driver: local
driver_opts:
type: none
o: bind
device: ./docker/xdebug_logs/${APP_ENV}
networks: networks:
sass-platform-net: sass-platform-net:

View File

@@ -1,10 +0,0 @@
# 使用官方PHP镜像
FROM php:7.4.33-fpm-dev-newshop
# 设置工作目录
WORKDIR /var/www/html
# 暴露端口
EXPOSE 9000 9003
CMD ["php-fpm"]

View File

@@ -46,9 +46,6 @@ RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
# 安装 Redis 扩展 # 安装 Redis 扩展
RUN pecl install redis-5.3.7 && docker-php-ext-enable redis RUN pecl install redis-5.3.7 && docker-php-ext-enable redis
# 安装 Xdebug兼容 PHP 7.4 的版本)
RUN pecl install xdebug-3.1.6 && docker-php-ext-enable xdebug
# 安装Composer # 安装Composer
COPY --from=composer:2.2.25 /usr/bin/composer /usr/bin/composer COPY --from=composer:2.2.25 /usr/bin/composer /usr/bin/composer
@@ -58,17 +55,14 @@ RUN composer --version
# 修改 PHP 配置 # 修改 PHP 配置
RUN echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory-limit.ini \ RUN echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory-limit.ini \
&& echo "upload_max_filesize=50M" >> /usr/local/etc/php/conf.d/uploads.ini \ && echo "upload_max_filesize=50M" >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo "post_max_size=50M" >> /usr/local/etc/php/conf.d/uploads.ini && echo "post_max_size=50M" >> /usr/local/etc/php/conf.d/uploads.ini
# 创建 Xdebug 配置
RUN echo "zend_extension=xdebug.so" > /usr/local/etc/php/conf.d/xdebug.ini
# # 使用Composer安装项目依赖可选根据需要启用, 更多的时候,会出错,要在容器中执行操作) # # 使用Composer安装项目依赖可选根据需要启用, 更多的时候,会出错,要在容器中执行操作)
# RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ # RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# RUN composer install --no-dev --optimize-autoloader --working-dir=/var/www/html # RUN composer install --no-dev --optimize-autoloader --working-dir=/var/www/html
# 暴露端口 # 暴露端口
EXPOSE 9000 9003 EXPOSE 9000
############ 查看 cron 进程 ############ 查看 cron 进程
## 查看 cron 进程 ## 查看 cron 进程

View File

@@ -1,26 +1,24 @@
# 项目配置, 请根据实际情况修改 APP_DEBUG = true
PROJECT_NAME=newshop APP_TRACE = true
# ThinkPHP 6.x 配置, 请根据实际情况修改 [APP]
APP_ENV=development DEFAULT_TIMEZONE = Asia/Shanghai
# PHP/PHP-FPM 配置 [LANG]
PHP_VERSION=7.4 default_lang = zh-cn
PHP_FPM_VERSION=7.4-fpm
PHP_FPM_PORT=9105
XDEBUG_POST=9108
# 数据库配置 [DATABASE]
MYSQL_ROOT_HOST=% TYPE = mysql
MYSQL_DATABASE=shop_mallnew HOSTNAME = db
MYSQL_USER=shop_mallnew DATABASE = shop_mallnew
MYSQL_PASSWORD=shop_mallnew USERNAME = shop_mallnew
MYSQL_PORT=3326 PASSWORD = shop_mallnew
HOSTPORT = 3306
CHARSET = utf8mb4
DEBUG = true
# Redis 绑定端口及密码 [REDIS]
REDIS_PASSWORD=luckyshop123!@# HOST = redis
REDIS_PORT=6499 PORT = 6379
PASSWORD = 'luckyshop123!@#'
# Nginx 暴漏端口 EXPIRY = 604800
NGINX_PORT=8050
NGINX_SSL_PORT=8052

View File

@@ -1,22 +1,24 @@
APP_DEBUG = true APP_DEBUG = true
APP_TRACE = true APP_TRACE = true
[APP] [APP]
DEFAULT_TIMEZONE = Asia/Shanghai DEFAULT_TIMEZONE = Asia/Shanghai
[LANG] [LANG]
default_lang = zh-cn default_lang = zh-cn
[DATABASE] [DATABASE]
TYPE = mysql TYPE = mysql
HOSTNAME = newshop_mysql HOSTNAME = db
DATABASE = shop_dev DATABASE = shop_dev
USERNAME = shop_mallnew USERNAME = shop_mallnew
PASSWORD = shop_mallnew PASSWORD = shop_mallnew
HOSTPORT = 3306 HOSTPORT = 3306
CHARSET = utf8 CHARSET = utf8mb4
DEBUG = true DEBUG = true
[RRDATABASE]
HOSTNAME = 192.168.2.64 [REDIS]
[redis] HOST = redis
HOST = newshop_redis
PORT = 6379 PORT = 6379
PASSWORD = 'luckyshop123!@#' PASSWORD = 'luckyshop123!@#'
EXPIRY = 604800 EXPIRY = 604800

View File

@@ -10,16 +10,16 @@ default_lang = zh-cn
[DATABASE] [DATABASE]
TYPE = mysql TYPE = mysql
HOSTNAME = production_mysql_host HOSTNAME = db
DATABASE = shop_mallnew_prod DATABASE = shop_mallnew
USERNAME = prod_user USERNAME = shop_mallnew
PASSWORD = prod_password PASSWORD = shop_mallnew
HOSTPORT = 3306 HOSTPORT = 3306
CHARSET = utf8 CHARSET = utf8mb4
DEBUG = false DEBUG = false
[redis] [REDIS]
HOST = production_redis_host HOST = redis
PORT = 6379 PORT = 6379
PASSWORD = production_redis_password PASSWORD = 'luckyshop123!@#'
EXPIRY = 86400 EXPIRY = 604800