# 设置基础镜像
FROM php:8.2-fpm
# 安装必要的软件包和依赖项
RUN apt-get update && apt-get install -y \
nginx \
libzip-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
&& rm -rf /var/lib/apt/lists/*
# 安装 PHP 扩展
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip pdo_mysql
# 安装 pcntl 扩展
RUN docker-php-ext-install pcntl
# 安装 Redis 扩展
RUN pecl install redis-5.3.7 \
&& docker-php-ext-enable redis
# 安装 Xdebug 扩展
RUN pecl install xdebug-3.2.1 \
&& docker-php-ext-enable xdebug
# 复制 Nginx 配置文件到容器
COPY ./dockerConfig/nginx/default.conf /etc/nginx/conf.d/default.conf
# 复制启动脚本到容器
COPY start.sh /start.sh
# 赋予启动脚本可执行权限
RUN chmod +x /start.sh
# 复制项目代码到容器
COPY . /var/www/html
# 设置文件和目录的权限
RUN chown -R www-data:www-data /var/www/html
# 启动 Nginx 和 PHP-FPM
CMD ["/start.sh"]
目录接口如下

关于nginx 的配置可以删去,
sh文件
#!/bin/bash
set -e
# 启动 Nginx
service nginx start
# 执行 PHP 命令
php start.php start
nginx配置文件
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
server {
server_name test.com
listen 80;
access_log off;
root /var/www/html/public;
location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
}
制作镜像
docker build -t new_app .
运行
docker run -p 8080:8787 new_app

测试

如有不清楚,请留言,看到必回



![[管理与领导-54]:IT基层管理者 - 扩展技能 - 1 - 时间管理 -1- 时间管理的基本理念和五大原则](https://img-blog.csdnimg.cn/4c0811140d384cb89c3cde377b342f0f.png)















![[完美解决]Vue项目运行时出现this[kHandle] = new _Hash(algorithm, xofLen)](https://img-blog.csdnimg.cn/e5923ffacb5544fca808504408ea9cbe.png)