vixns/php-nginxdocker-php-nginx是一个预配置的Docker镜像,集成了PHP运行环境与Nginx Web服务器,旨在为PHP Web应用提供即用型部署环境。通过整合核心组件并优化默认配置,该镜像减少了手动安装、配置PHP和Nginx的繁琐步骤,帮助开发者快速搭建一致的运行环境,适用于从本地开发到小型生产部署的全流程场景。
通过以下命令快速启动容器,将本地PHP应用目录挂载到容器中:
bashdocker run -d \ -p 80:80 \ # 主机80端口映射到容器Nginx端口 -v /path/to/your/php/app:/var/www/html \ # 挂载本地PHP应用代码 --name php-nginx-app \ # 容器名称 myusername/docker-php-nginx # 镜像名称(替换为实际镜像地址)
访问 http://localhost 即可查看部署的PHP应用。
创建 docker-compose.yml 文件实现更灵活的配置管理:
yamlversion: '3' services: php-nginx: image: myusername/docker-php-nginx ports: - "8080:80" # 自定义主机端口(主机8080 -> 容器80) volumes: - ./app:/var/www/html # 本地应用目录 - ./nginx/conf.d:/etc/nginx/conf.d # 挂载自定义Nginx配置(可选) - ./php.ini:/usr/local/etc/php/php.ini # 挂载自定义PHP配置(可选) environment: - PHP_INI_DATE_TIMEZONE=Asia/Shanghai # 设置PHP时区 - NGINX_PORT=80 # Nginx容器内监听端口(默认80) restart: unless-stopped # 容器退出时自动重启(可选)
启动服务:
bashdocker-compose up -d
通过 -e 参数或 docker-compose.yml 的 environment 字段设置,支持以下常用配置:
PHP_INI_<KEY>:自定义PHP配置,格式为 PHP_INI_<配置项名>=<值>,例如:
PHP_INI_DATE_TIMEZONE=Asia/Shanghai → 对应 php.ini 中的 date.timezone = Asia/ShanghaiPHP_INI_MEMORY_LIMIT=256M → 对应 php.ini 中的 memory_limit = 256MNGINX_PORT:设置容器内Nginx监听端口(默认80,需配合 -p 参数调整端口映射)。myapp.conf)挂载到容器 /etc/nginx/conf.d/ 目录,覆盖默认配置。示例配置:
nginxserver { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # 连接PHP-FPM fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
php.ini 到 /usr/local/etc/php/php.ini,或在 /usr/local/etc/php/conf.d/ 目录添加扩展配置文件(如 custom.ini)。默认未包含的扩展可通过Dockerfile基于该镜像构建:
dockerfileFROM myusername/docker-php-nginx # 替换为实际镜像名称 RUN docker-php-ext-install zip exif # 安装zip和exif扩展 # 如需pecl扩展(如redis): RUN pecl install redis && docker-php-ext-enable redis
构建并使用自定义镜像:
bashdocker build -t my-custom-php-nginx . docker run -d -p 80:80 -v /path/to/app:/var/www/html my-custom-php-nginx



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务