
beamaustralia/phpPHP Docker镜像是一个预配置的容器化解决方案,包含PHP运行时环境及其核心依赖,旨在简化PHP应用程序的部署与运行。该镜像支持多种PHP版本,提供灵活的配置选项,确保应用在开发、测试和生产环境中的一致性和可移植性。
bashdocker run -it --rm php:latest php -a
将本地PHP脚本挂载到容器中执行:
bashdocker run --rm -v $(pwd):/app -w /app php:latest php your_script.php
创建docker-compose.yml配置文件:
yamlversion: '3' services: php-fpm: image: php:8.2-fpm volumes: - ./php-app:/var/www/html restart: always nginx: image: nginx:latest ports: - "80:80" volumes: - ./php-app:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - php-fpm
创建Nginx配置文件nginx.conf:
nginxserver { listen 80; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass php-fpm:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
启动服务:
bashdocker-compose up -d
使用官方提供的docker-php-ext-install工具安装扩展:
bashdocker run --rm php:8.2-fpm docker-php-ext-install pdo_mysql gd
dockerfileFROM php:8.2-fpm # 安装依赖并配置扩展 RUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ && docker-php-ext-configure gd --with-jpeg \ && docker-php-ext-install pdo_mysql gd # 复制自定义php.ini配置 COPY php.ini /usr/local/etc/php/
构建并使用自定义镜像:
bashdocker build -t my-php-image . docker run --rm my-php-image php -m | grep gd # 验证扩展是否安装
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| PHP_INI_DIR | PHP配置文件目录 | /usr/local/etc/php |
| PHP_EXTRA_CONFIGURE_ARGS | 构建时传递给./configure的额外参数 | 空 |
镜像标签格式:php:<version>-<variant>,常用变体说明:
php:8.2:基于Debian的PHP 8.2版本(默认包含CLI)php:8.2-fpm:包含PHP-FPM(FastCGI进程管理器)php:8.2-alpine:基于Alpine Linux的精简版本php:8.2-cli:仅包含PHP命令行接口php:8.2.10-fpm)而非latest,避免版本自动更新导致兼容性问题。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务