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

官方QQ群: 13763429

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

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

alpine-php-webserver Docker 镜像下载 - 轩辕镜像

alpine-php-webserver 镜像详细信息和使用指南

alpine-php-webserver 镜像标签列表和版本信息

alpine-php-webserver 镜像拉取命令和加速下载

alpine-php-webserver 镜像使用说明和配置指南

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

alpine-php-webserver
erseco/alpine-php-webserver

alpine-php-webserver 镜像详细信息

alpine-php-webserver 镜像标签列表

alpine-php-webserver 镜像使用说明

alpine-php-webserver 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于阿尔卑斯Linux 3.22的轻量级Docker镜像,集成Nginx 1.28和PHP-FPM 8.4,大小仅约25MB,支持多架构,以非特权用户运行,优化资源使用(按需启动PHP-FPM),日志重定向至容器输出,适用于安全高效的PHP应用部署与开发。
8 收藏0 次下载activeerseco镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

alpine-php-webserver 镜像详细说明

alpine-php-webserver 使用指南

alpine-php-webserver 配置说明

alpine-php-webserver 官方文档

Docker PHP-FPM 8.4 & Nginx 1.28 基于阿尔卑斯Linux 3.22

![Docker Pulls]([***] !Docker Image Size !alpine 3.22 !nginx 1.28 !php 8.4 !License MIT

基于阿尔卑斯Linux构建的Docker PHP-FPM 8.4 & Nginx 1.28示例配置,镜像大小仅约25MB。

仓库:[***]

  • 基于轻量级且安全的阿尔卑斯Linux发行版构建
  • 极小的Docker镜像大小(约25MB)
  • 使用PHP 8.4提升性能、降低CPU使用率和内存占用
  • 多架构支持:386、amd64、arm/v6、arm/v7、arm64、ppc64le、s390x
  • 优化支持100个并发用户
  • 优化为仅在有流量时使用资源(通过PHP-FPM的ondemand进程管理器)
  • 使用runit而非supervisord以减少内存占用
  • Nginx、PHP-FPM服务以非特权用户(nobody)运行,提升安全性
  • 所有服务日志重定向至Docker容器输出(可通过docker logs -f <容器名称>查看)
  • 遵循KISS原则(保持简单),便于理解和调整镜像以满足需求

支持的标签及对应Dockerfile链接

  • latest, 3, 3.22, 3.22.1-1 (Dockerfile)
  • 3.21, 3.21.4 (Dockerfile)
  • 3.20, 3.20.7 (Dockerfile)

注意:main分支(Dockerfile)会自动推送到标签**beta**。
在稳定版本发布前,可使用此标签进行测试。

使用方法

启动Docker容器:

docker run -p 80:8080 erseco/alpine-php-webserver

在http://localhost查看PHP信息,或在http://localhost/test.html查看静态HTML页面。

或挂载本地代码以通过PHP-FPM & Nginx提供服务:

docker run -p 80:8080 -v ~/我的代码库:/var/www/html erseco/alpine-php-webserver

使用Docker Compose运行

通过Docker Compose轻松提供本地PHP文件服务。此配置将本地./php目录挂载到容器,并绑定到本地8080端口,使PHP文件的更改能通过Web服务器即时反映,非常适合本地开发和测试。

Docker Compose配置

以下是简单的docker-compose.yml示例:

services:
  webserver:
    image: erseco/alpine-php-webserver
    ports:
      - 8080:8080
    volumes:
      - ./php:/var/www/html
    restart: unless-stopped
  • image:使用erseco/alpine-php-webserver,针对PHP应用优化。
  • ports:将容器8080端口映射到本地8080端口,可通过http://localhost:8080访问。
  • volumes:将本地./php目录挂载到容器/var/www/html,实现PHP文件实时更新。
  • restart:确保容器除非手动停止,否则自动重启,提升可靠性。

使用步骤

  1. 在项目目录中保存上述docker-compose.yml文件。
  2. 在终端中进入该目录,运行docker compose up -d。
  3. 通过http://localhost:8080访问PHP应用。

此方法确保无缝的开发流程,让你专注于编码而非环境配置。

添加额外守护进程

可通过创建runit条目添加额外守护进程(如自定义应用)。只需编写一个运行守护进程的小型shell脚本(命名为run,需可执行),并放置在/etc/service/<名称>目录下。runit会自动管理该进程,在崩溃时重启等。

以下示例展示如何创建memcached服务器的runit条目:

#!/bin/sh
### 在memcached.sh中(确保文件权限为chmod +x):
# `chpst -u memcache`以用户`memcache`运行命令。
# 若省略此部分,命令将以root用户运行。
exec 2>&1 chpst -u memcache /usr/bin/memcached

### 在Dockerfile中:
RUN mkdir /etc/service/memcached
ADD memcached.sh /etc/service/memcached/run

注意:shell脚本必须不后台运行/不fork守护进程。通常守护进程会提供命令行参数或配置选项实现此功能。

容器启动时运行脚本

可在容器启动时运行自定义脚本,只需将脚本添加到/docker-entrypoint-init.d/目录。脚本按字典序执行,且必须正常退出(如退出码0),若任一脚本退出码非零,启动将失败。

以下示例添加一个启动脚本,将启动时间记录到/tmp/boottime.txt:

#!/bin/sh
### 在logtime.sh中(确保文件权限为chmod +x):
date > /tmp/boottime.txt

### 在Dockerfile中:
ADD logtime.sh /docker-entrypoint-init.d/logtime.sh

Nginx配置

Nginx配置设计灵活且易于自定义,默认主配置文件位于rootfs/etc/nginx/nginx.conf。

添加自定义配置

有两种方式添加自定义配置:

  1. 全局配置:将配置文件放置在/etc/nginx/conf.d/,全局生效,影响所有服务器块。

  2. 服务器特定配置:针对特定服务器块的配置,放置在/etc/nginx/server-conf.d/,仅在该服务器块内生效,实现更精细的控制。

示例

要添加自定义配置,在相应目录创建.conf文件。例如,创建/etc/nginx/server-conf.d/custom-server.conf添加服务器特定规则:

# 示例自定义服务器配置
location /custom {
    return 200 '自定义服务器配置生效!';
    add_header Content-Type text/plain;
}

此设置允许无需修改主nginx.conf即可管理和自定义Nginx配置。在rootfs/etc/可找到Nginx、PHP和PHP-FPM的默认配置文件。若需扩展或自定义,可通过挂载配置文件实现:

Nginx配置:

docker run -v "`pwd`/nginx-server.conf:/etc/nginx/conf.d/server.conf" erseco/alpine-php-webserver

PHP配置:

docker run -v "`pwd`/php-setting.ini:/etc/php8/conf.d/settings.ini" erseco/alpine-php-webserver

PHP-FPM配置:

docker run -v "`pwd`/php-fpm-settings.conf:/etc/php8/php-fpm.d/server.conf" erseco/alpine-php-webserver

注意:由于-v需要绝对路径,示例中使用pwd获取当前目录的绝对路径。

环境变量

可通过以下环境变量修改NGINX和PHP的配置值:

服务变量名默认值描述
NGINXnginx_root_directory/var/www/html设置NGINX服务器根目录,指定文件提供位置,即Web应用公共文件存放目录。
NGINXclient_max_body_size2m设置客户端请求体的最大允许大小,通过“Content-Length”请求头字段指定。
NGINXDISABLE_DEFAULT_LOCATIONfalse若设为"true",禁用Nginx配置中的默认location /块,可在/etc/nginx/server-conf.d/挂载自定义配置而无冲突。
PHP8clear_envno清除FPM工作进程环境变量,防止任意环境变量通过工作进程传递,仅保留配置中指定的变量。
PHP8allow_url_fopenOn启用URL感知的fopen包装器,允许像访问文件一样访问URL对象,默认支持ftp、http协议,部分扩展(如zlib)可能注册额外包装器。
PHP8allow_url_includeOff允许在include()、include_once()、require()、require_once()函数中使用URL感知的fopen包装器。
PHP8display_errorsOff控制错误是否输出到屏幕,即是否对用户隐藏错误信息。
PHP8file_uploadsOn是否允许HTTP文件上传。
PHP8max_execution_time0脚本允许运行的最长时间(秒),防止不良脚本占用服务器资源,默认值为30。
PHP8max_input_time-1脚本允许解析输入数据(如POST、GET、文件上传)的最长时间(秒)。
PHP8max_input_vars1000允许的请求输入变量最大数量,可用于防范涉及输入变量名哈希冲突的拒绝服务***。
PHP8memory_limit128M脚本允许分配的最大内存量(字节),防止不良脚本耗尽服务器内存,设为-1表示无限制。
PHP8post_max_size8MPOST数据的最大允许大小,影响文件上传,通常应大于upload_max_filesize,且memory_limit应大于post_max_size。
PHP8upload_max_filesize2M上传文件的最大允许大小。
PHP8zlib_output_compressionOn是否透明压缩页面,若在php.ini或Apache配置中设为"On",当浏览器发送"Accept-Encoding: gzip"或"deflate"头时压缩页面。
PHP8date_timezoneUTC设置PHP时区配置(date.timezone),接受标准PHP时区标识符(如'America/New_York'、'Europe/London'),详见PHP时区。
PHP8intl_default_localeen_US全局设置PHP区域设置(如php.ini中),接受有效的区域标识符(如en_US或de_DE),详见PHP区域设置。

添加Composer

若项目需要Composer,可通过以下方式添加:

FROM erseco/alpine-php-webserver:latest
USER root
# 从***镜像安装Composer
RUN apk add --no-cache composer
USER nobody
# 运行composer install安装依赖
RUN composer install --optimize-autoloader --no-interaction --no-progress

使用Composer构建

若构建包含源代码且使用Composer管理依赖的镜像,建议在构建过程中安装依赖。虽然需要Composer(/usr/bin/composer)安装依赖,但生产环境镜像中无需保留,可在安装后卸载以减小镜像大小:

FROM erseco/alpine-php-webserver

# 切换到root用户安装Composer
USER root

# 安装Composer及所需工具
RUN apk add --no-cache composer

# 复制应用源代码
COPY ./ /var/www/html
WORKDIR /var/www/html

# 切换到非root用户运行Composer
USER nobody

# 安装PHP依赖(需composer.json)
RUN composer install \
    --no-dev \
    --optimize-autoloader \
    --no-interaction \
    --no-progress

# 可选:卸载Composer减小镜像大小
USER root
RUN apk del composer
USER nobody

此方式保持最终镜像简洁,减小体积,并减少生产环境中可能被滥用的工具。

以root用户运行命令

某些情况下可能需要在容器中以root用户运行命令(如安装额外包),可使用docker compose exec配合--user root选项:

docker compose exec --user root alpine-php-webserver sh
查看更多 alpine-php-webserver 相关镜像 →
alpine/git logo
alpine/git
by alpine
这是一个运行于Alpine Linux系统中的简易Git容器,Alpine Linux以其极致精简的特性为基础,使得该容器在保持Git核心功能的同时,具备轻量高效的运行表现,尤其适用于各类小型Linux发行版环境,能够满足资源受限场景下的版本控制需求,为嵌入式系统、边缘设备或轻量级开发环境提供便捷的Git服务支持。
245100M+ pulls
上次更新:3 天前
alpine/socat logo
alpine/socat
by alpine
基于Alpine的轻量级容器,用于运行socat网络工具,实现端口转发、数据流转发等网络通信功能。
11450M+ pulls
上次更新:4 天前
alpine/helm logo
alpine/helm
by alpine
当Kubernetes Helm有新发布时自动触发Docker构建的镜像
6950M+ pulls
上次更新:10 天前

常见问题

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

免费版仅支持 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.