# docker-php-fpm **Repository Path**: colovu/docker-php-fpm ## Basic Information - **Project Name**: docker-php-fpm - **Description**: Dockerfile for PHP with PHP-FPM. - **Primary Language**: Shell - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-08 - **Last Updated**: 2021-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PHP-FPM 针对 [PHP-FPM](https://www.php.net) 应用的 Docker 镜像,用于提供 PHP解析及PHP-FPM 服务。 使用说明可参照:[官方说明](https://www.php.net/docs.php) php-fpm-logo **版本信息:** - 8.0、latest - 8.0 - 7.3 **镜像信息:** * 镜像地址: - 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/php-fpm:8.0 - DockerHub:colovu/php-fpm:8.0 * 依赖镜像:debian:buster > 后续相关命令行默认使用`[Docker Hub](https://hub.docker.com)`镜像服务器做说明 ## TL;DR Docker 快速启动命令: ```shell # 从 Docker Hub 服务器下载镜像并启动 $ docker run -d --name imgname colovu/php-fpm # 从 Aliyun 服务器下载镜像并启动 $ docker run -d --name imgname registry.cn-shenzhen.aliyuncs.com/colovu/php-fpm ``` - `colovu/imgname:`:镜像名称及版本标签;标签不指定时默认使用`latest` Docker-Compose 快速启动命令: ```shell # 从 Gitee 下载 Compose 文件 $ curl -sSL -o https://gitee.com/colovu/docker-php-fpm/raw/master/docker-compose.yml # 从 Github 下载 Compose 文件 $ curl -sSL -o https://raw.githubusercontent.com/colovu/docker-php-fpm/master/docker-compose.yml # 创建并启动容器 $ docker-compose up -d ``` --- ## 默认对外声明 ### 端口 - 9000:PHP-FPM服务端口 ### 数据卷 镜像默认提供以下数据卷定义: ```shell /var/log # 日志输出,位于子目录 php7 中 /srv/conf # 配置文件,位于子目录 php7 中 /srv/www # 站点源文件 ``` 如果需要持久化存储相应数据,需要**在宿主机建立本地目录**,并在使用镜像初始化容器时进行映射。 举例: - 使用宿主机`/opt/conf`存储配置文件 - 使用宿主机`/srv/data`存储数据文件 - 使用宿主机`/srv/log`存储日志文件 创建以上相应的宿主机目录后,容器启动命令中对应的映射参数类似如下: ```dockerfile -v /host/dir/to/conf:/srv/conf -v /host/dir/to/data:/srv/data -v /host/dir/to/log:/var/log ``` > 注意:应用需要使用的子目录会自动创建。 ### 容器安全 本容器默认使用`non-root`运行应用,以加强容器的安全性。在使用`non-root`用户运行容器时,相关的资源访问会受限;应用仅能操作镜像创建时指定的路径及数据。使用`non-root`方式的容器,更适合在生产环境中使用。 如果需要赋予容器内应用访问外部设备的权限,可以使用以下两种方式: - 启动参数增加`--privileged=true`选项 - 针对特定权限需要使用`--cap-add`单独增加特定赋权,如:ALL、NET_ADMIN、NET_RAW 如果需要切换为`root`方式运行应用,可以在启动命令中增加`-u root`以指定运行的用户。 ## 注意事项 - 容器中应用的启动参数不能配置为后台运行,如果应用使用后台方式运行,则容器的启动命令会在运行后自动退出,从而导致容器退出 ## 更新记录 2021/7/19: - 8.0: 初始版本,基于 PHP 8.0.9 - 7.4: 初始版本, 基于 PHP 7.4.20 - 7.3: 初始版本, 基于 PHP 7.3.28 ---- 本文原始来源 [Endial Fang](https://github.com/colovu) @ [Github.com](https://github.com)