
jrcs/php该镜像是一个预配置的Docker化PHP运行环境,集成了PHP解释器、常用扩展及Web服务器(Apache/Nginx),旨在简化PHP应用的部署流程。无需手动配置PHP依赖、扩展及Web服务,可直接用于开发、测试及生产环境的PHP应用部署,帮助开发者和运维人员快速搭建一致的运行环境。
bash# 执行单个PHP脚本 docker run --rm -v $(pwd):/app -w /app php-dockerized:8.1 php script.php # 启动交互式PHP终端 docker run --rm -it php-dockerized:8.1 php -a
bash# 挂载应用代码并启动Web服务(默认Apache,映射80端口) docker run -d -p 8080:80 -v $(pwd)/app:/var/www/html --name php-web-app php-dockerized:8.1
访问 http://localhost:8080 即可查看运行的PHP Web应用
yamlversion: '3.8' services: php-app: image: php-dockerized:8.1 ports: - "8080:80" volumes: - ./app:/var/www/html # 挂载本地PHP应用代码 - ./php-conf:/usr/local/etc/php/conf.d # 挂载自定义PHP配置 environment: - PHP_INI_SCAN_DIR=/usr/local/etc/php/conf.d # 自定义配置扫描目录 - APACHE_DOCUMENT_ROOT=/var/www/html/public # 设置应用根目录(如Laravel的public目录) depends_on: - mysql # 可选:关联数据库服务 mysql: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=php_app_db
| 参数/环境变量 | 描述 | 默认值 |
|---|---|---|
| PHP_VERSION | 指定PHP版本(通过镜像标签控制) | 8.1(默认标签) |
| PHP_INI_SCAN_DIR | PHP配置文件扫描目录 | /usr/local/etc/php/conf.d |
| APACHE_DOCUMENT_ROOT | Apache网站根目录 | /var/www/html |
| PHP_MEMORY_LIMIT | PHP内存限制(通过配置文件设置) | 128M |
创建自定义php.ini或*.ini配置文件,通过卷挂载到容器配置目录:
bashdocker run -d -p 8080:80 \ -v $(pwd)/app:/var/www/html \ -v $(pwd)/custom-php.ini:/usr/local/etc/php/conf.d/custom.ini \ php-dockerized:8.1
通过Dockerfile基于此镜像构建,添加所需扩展:
dockerfileFROM php-dockerized:8.1 # 安装soap扩展示例 RUN docker-php-ext-install soap # 安装pecl扩展示例 RUN pecl install redis && docker-php-ext-enable redis
--memory、--cpus参数限制容器资源占用,避免资源耗尽
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务