轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
centos/php-72-centos7
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

php-72-centos7 Docker 镜像下载 - 轩辕镜像

php-72-centos7 镜像详细信息和使用指南

php-72-centos7 镜像标签列表和版本信息

php-72-centos7 镜像拉取命令和加速下载

php-72-centos7 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

php-72-centos7
centos/php-72-centos7

php-72-centos7 镜像详细信息

php-72-centos7 镜像标签列表

php-72-centos7 镜像使用说明

php-72-centos7 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于构建和运行PHP 7.2应用的平台
10 收藏0 次下载activecentos镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

php-72-centos7 镜像详细说明

php-72-centos7 使用指南

php-72-centos7 配置说明

php-72-centos7 官方文档

PHP 7.2 Docker镜像文档

镜像概述和主要用途

PHP 7.2容器镜像是一个基于Source-to-Image(S2I)的基础镜像,用于构建和运行PHP 7.2应用程序。用户可以选择基于RHEL或CentOS的构建器镜像:

  • RHEL UBI镜像可从Red Hat Container Catalog获取
  • CentOS镜像可从Quay.io获取
  • Fedora镜像可从Fedora Registry获取

生成的镜像可使用podman或docker运行(本文档中所有podman命令均可替换为docker命令,参数保持不变)。

核心功能和特性

  • 提供PHP 7.2运行环境,支持动态生成网页和数据库集成
  • 内置npm工具,可用于安装Web应用所需的JavaScript模块
  • 支持Source-to-Image(S2I)构建策略,简化应用构建流程
  • 包含Apache HTTP服务器,已配置PHP支持
  • 提供灵活的环境变量配置,可定制PHP和Apache行为
  • 支持热部署功能,便于开发和调试
  • 可通过多种方式扩展镜像功能和配置

使用场景和适用范围

  • 作为构建和运行各种PHP 7.2应用程序和框架的基础平台
  • 快速部署PHP Web应用到容器化环境或OpenShift平台
  • 开发和测试PHP 7.2应用程序
  • 构建基于PHP的动态网站和Web服务
  • 替换传统CGI脚本的PHP编码场景

详细使用方法和配置说明

在OpenShift中使用

假设使用ubi8/php-72镜像,在OpenShift中可通过php:72镜像流标签访问。

构建示例cakephp应用:

oc new-app php:7.2~[***]

访问应用:

oc get pods
oc exec <pod名称> -- curl 127.0.0.1:8080

或直接访问:

curl 127.0.0.1:8080

Source-to-Image框架和脚本

该镜像支持OpenShift的Source-to-Image(S2I)策略,这是一个将应用源代码作为输入,使用构建器镜像生成可运行应用镜像的框架。

构建器镜像包含以下重要脚本:

  • /usr/libexec/s2i/assemble: 用于生成包含应用程序工件的新镜像,将应用源代码放置到镜像中的适当目录
  • /usr/libexec/s2i/run: 作为生成的容器镜像的默认命令,启动启用PHP支持的httpd服务

使用Dockerfile构建应用

与Source-to-Image策略相比,使用Dockerfile是构建包含应用程序的PHP容器镜像的更灵活方式,适用于S2I不够灵活或在OpenShift环境外构建镜像的场景。

步骤1:拉取基础构建器镜像

podman pull ubi8/php-72

UBI镜像ubi8/php-72可在UBI最终用户许可协议(EULA)条款下自由使用和重新分发。

步骤2:拉取应用代码

以cakephp示例应用为例:

git clone [***] app-src

步骤3:在容器中准备应用

此步骤通常包括:将应用源代码放入容器、安装依赖项、设置生成镜像的默认命令。有两种方法可实现:

3.1 使用自定义设置

创建以下Dockerfile:

FROM ubi8/php-72

# 添加应用源代码
ADD app-src .

# 安装依赖
RUN TEMPFILE=$(mktemp) && \
    curl -o "$TEMPFILE" "[***]" && \
    php <"$TEMPFILE" && \
    ./composer.phar install --no-interaction --no-ansi --optimize-autoloader

# 运行脚本使用标准方式配置PHP应用并最终执行httpd -D FOREGROUND
CMD /usr/libexec/s2i/run
3.2 使用Source-to-Image脚本

创建以下Dockerfile:

FROM ubi8/php-72

# 将应用源代码添加到assemble脚本期望的目录并设置权限
USER 0
ADD app-src /tmp/src
RUN chown -R 1001:0 /tmp/src
USER 1001

# 安装依赖
RUN /usr/libexec/s2i/assemble

# 设置生成镜像的默认命令
CMD /usr/libexec/s2i/run

步骤4:从Dockerfile构建新镜像

podman build -t cakephp-app .

步骤5:运行包含最终应用的镜像

podman run -d cakephp-app

环境变量配置

可在源代码仓库中的.s2i/environment文件中设置键值对形式的环境变量。

PHP配置环境变量

以下环境变量设置php.ini文件中的相应属性值:

环境变量描述默认值
ERROR_REPORTING配置PHP错误、警告和通知的报告级别E_ALL & ~E_NOTICE
DISPLAY_ERRORS控制PHP是否输出错误、通知和警告ON
DISPLAY_STARTUP_ERRORS控制PHP启动序列期间发生的错误是否单独处理OFF
TRACK_ERRORS是否将最后一个错误/警告消息存储在$php_errormsg中OFF
HTML_ERRORS是否将错误链接到相关文档ON
INCLUDE_PATHPHP源代码文件路径.:/opt/app-root/src:/opt/rh/rh-php72/root/usr/share/pear (EL7)
.:/opt/app-root/src:/usr/share/pear (EL8, Fedora)
PHP_MEMORY_LIMIT内存限制128M
SESSION_NAME会话名称PHPSESSID
SESSION_HANDLER会话保存方法files
SESSION_PATH会话数据文件位置/tmp/sessions
SESSION_COOKIE_DOMAINCookie有效的域空
SESSION_COOKIE_HTTPONLY是否为Cookie添加httpOnly标志0
SESSION_COOKIE_SECURE是否仅通过安全连接发送CookieOff
SHORT_OPEN_TAGPHP是否识别标签之间的代码OFF
DOCUMENTROOT应用程序的DocumentRoot路径/

OPCache配置环境变量

以下环境变量设置opcache.ini文件中的相应属性值:

环境变量描述默认值
OPCACHE_MEMORY_CONSUMPTIONOPcache共享内存存储大小(MB)128
OPCACHE_REVALIDATE_FREQ检查脚本时间戳更新的频率(秒)2
OPCACHE_MAX_FILESOPcache哈希表中的最大键(脚本)数4000

PHP配置覆盖

环境变量描述
PHPRC设置php.ini文件的路径
PHP_INI_SCAN_DIR扫描其他ini配置文件的路径

Apache MPM配置

可覆盖Apache MPM prefork设置以提高PHP应用性能:

环境变量描述默认值
HTTPD_START_SERVERS启动时创建的子服务器进程数8
HTTPD_MAX_REQUEST_WORKERS同时服务的请求数限制256(通过公式自动调整:总内存/15MB)

Composer配置

环境变量描述
COMPOSER_MIRROR自定义composer仓库镜像URL
COMPOSER_INSTALLER覆盖默认Composer下载URL
COMPOSER_ARGS添加额外的composer install命令行参数

源代码仓库布局

现有PHP项目仓库无需修改,但以下文件会影响构建过程:

composer.json

需通过composer安装的依赖项列表,格式文档见Composer架构。

.htaccess

如果应用程序的DocumentRoot嵌套在源代码目录/opt/app-root/src中,用户可以提供自己的Apache .htaccess文件,用于覆盖Apache行为并指定如何处理应用程序请求。该文件需要位于应用程序源代码的根目录。

热部署配置

要立即获取应用源代码中的更改,需使用OPCACHE_REVALIDATE_FREQ=0环境变量运行构建的镜像:

podman run -e OPCACHE_REVALIDATE_FREQ=0 -p 8080:8080 php-app

要在运行中的容器中更改源代码,使用Podman的exec命令:

podman exec -it <容器ID> /bin/bash

执行后,当前目录将设置为源代码所在的/opt/app-root/src目录。

镜像扩展方法

不仅可以扩展镜像内容,还可以使用source-to-image扩展镜像的启动脚本和配置。应用程序结构如下:

文件夹名称描述
./httpd-cfg可包含其他Apache配置文件(*.conf)
./httpd-ssl可包含自己的SSL证书(在certs/子目录)和密钥(在private/子目录)
./php-pre-start可包含在httpd启动前执行的shell脚本(*.sh)
./php-post-assemble可包含在assemble脚本结束时执行的shell脚本(*.sh)
./应用程序源代码

部署示例

Docker Run命令示例

# 基本运行
docker run -d -p 8080:8080 --name php-app ubi8/php-72

# 带环境变量配置
docker run -d -p 8080:8080 \
  -e PHP_MEMORY_LIMIT=256M \
  -e OPCACHE_REVALIDATE_FREQ=0 \
  --name php-app ubi8/php-72

# 挂载本地代码目录进行开发
docker run -d -p 8080:8080 \
  -v ./my-php-app:/opt/app-root/src \
  -e OPCACHE_REVALIDATE_FREQ=0 \
  --name php-dev-app ubi8/php-72

Docker Compose配置示例

version: '3'
services:
  php-app:
    image: ubi8/php-72
    ports:
      - "8080:8080"
    environment:
      - PHP_MEMORY_LIMIT=256M
      - ERROR_REPORTING=E_ALL
      - DISPLAY_ERRORS=ON
      - OPCACHE_REVALIDATE_FREQ=0
    volumes:
      - ./my-php-app:/opt/app-root/src
    restart: unless-stopped

安全注意事项

  • 使用-p 8080:8080参数会将容器端口8080映射到主机的相同端口,确保仅在必要时暴露端口
  • 生产环境中应设置DISPLAY_ERRORS=OFF以避免敏感信息泄露
  • 考虑设置SESSION_COOKIE_SECURE=On和SESSION_COOKIE_HTTPONLY=1增强会话安全性
  • 定期更新基础镜像以获取安全补丁

相关资源

Dockerfile和其他源代码可在[***]

  • CentOS的Dockerfile名为Dockerfile
  • RHEL7的Dockerfile名为Dockerfile.rhel7
  • RHEL8的Dockerfile名为Dockerfile.rhel8
  • Fedora的Dockerfile名为Dockerfile.fedora
查看更多 php-72-centos7 相关镜像 →
apache/cassandra-centos7-build logo
apache/cassandra-centos7-build
by The Apache Software Foundation
Apache Cassandra是一个开源分布式NoSQL数据库,提供高可用性、线性可扩展性和容错能力,适用于处理海量结构化数据,支持跨数据中心部署和无单点故障架构。
4.3K pulls
上次更新:1 年前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.