🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## docker-compose安装php Dockerfile 如下: 查看扩展 基本上需要的都有,对照表给出的加在后面即可 https://github.com/mlocati/docker-php-extension-installer ``` FROM php:8.2-fpm COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/ RUN install-php-extensions opcache pcntl redis gd mysqli zip @composer-2.0.2 #空格写需要安装的扩展名就行 其中还支持composer的安装 RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" RUN sed -i 's/http:\/\/deb.debian.org/https:\/\/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && \ apt-get update && apt-get install -y git EXPOSE 9000 ``` docker-compose 文件如下(Dockerfile文件和docker-compose ) ``` version: '3' services: php: restart: always container_name: php-fpm build: context: . dockerfile: Dockerfile volumes: - ./app:/var/www/html - ./log:/var/log/php - ./conf:/usr/local/etc environment: - TZ=Asia/Shanghai cap_add: - SYS_PTRACE networks: default: external: true name: my_net ``` 关于php容器需要的数据卷 宿主机中app目录挂载到容器的/var/www/html目录即可,其中app目录用于存放php代码 宿主机中conf目录挂载到容器的/usr/local/etc目录即可,其中conf目录需要提前准备相关配置,可以采用如下方法来准备,创建临时的容器,镜像需要保持一致。 ``` docker run --name tmp-php-container -d php:8.2-fpm docker cp tmp-php-container:/usr/local/etc/. /host/path/conf docker cp tmp-php-container:/var/log/php/. /host/path/log docker rm -f tmp-php-container # 复制配置文件 mv /host/path/conf/php/php.ini-production /host/path/conf/php/php.ini # 配置日志 vim /host/path/conf/php/php.ini 搜索error_log # 设置脚本错误将被记录到的文件 error_log = /var/log/php/error_log # 开启慢日志 vim /host/path/conf/php/conf/php-fpm.d/www.conf 搜索slowlog [www] ; 设置记录慢日志的超时时间 request_slowlog_timeout = 5s ; 设置日志文件位置 slowlog = /var/log/php/slow_log ```