
defrostedtuna/php-nginx本Docker容器在单个实例中运行PHP和Nginx,基于Alpine Linux构建,通过Supervisor管理进程。当PHP或Nginx进程终止时,Supervisor会检测到故障并终止整个容器。该镜像主要用于部署Laravel应用,同时支持多种PHP版本,并提供生产环境和开发环境专用版本。
镜像标签以PHP版本命名,开发版本在版本号后添加-dev后缀:
| 标签格式 | 说明 |
|---|---|
defrostedtuna/php-nginx:7.3 | PHP 7.3生产版本 |
defrostedtuna/php-nginx:8.0 | PHP 8.0生产版本 |
defrostedtuna/php-nginx:7.3-dev | PHP 7.3开发版本(含xdebug) |
defrostedtuna/php-nginx:8.0-dev | PHP 8.0开发版本(含xdebug) |
bash# 拉取生产版本(以PHP 8.0为例) docker pull defrostedtuna/php-nginx:8.0 # 拉取开发版本 docker pull defrostedtuna/php-nginx:8.0-dev
bash# 运行生产版本容器,挂载当前目录到容器/app docker run -it -v $(pwd):/app defrostedtuna/php-nginx:8.0 # 运行开发版本容器 docker run -it -v $(pwd):/app defrostedtuna/php-nginx:8.0-dev
DockerfileFROM defrostedtuna/php-nginx:8.0 # 复制项目文件到容器内/app目录 COPY . /app # 安装生产环境依赖(不含开发依赖) RUN composer install --no-dev --optimize-autoloader # 设置应用权限 RUN chown -R www:www /app RUN chmod -R ug+rwx /app/storage /app/bootstrap/cache RUN chmod -R 774 /app/storage/logs # 其他容器配置...
DockerfileFROM defrostedtuna/php-nginx:8.0-dev # 复制项目文件 COPY . /app # 安装所有依赖(含开发依赖) RUN composer install # 设置应用权限 RUN chown -R www:www /app RUN chmod -R ug+rwx /app/storage /app/bootstrap/cache RUN chmod -R 774 /app/storage/logs # 其他容器配置...
yamlversion: '3.5' services: app: image: defrostedtuna/php-nginx:8.0 # 生产环境使用;开发环境替换为8.0-dev container_name: app working_dir: /app volumes: - ./:/app # 应用代码挂载到容器内/app目录 # 其他配置(如端口映射、环境变量等)...
通过Alpine包管理器安装的基础软件包包括:
curlnginxphpphp-bcmathphp-ctypephp-curlphp-domphp-fileinfophp-fpmphp-jsonphp-mbstringphp-opcachephp-opensslphp-pdo_mysqlphp-pharphp-sessionphp-simplexmlphp-tokenizerphp-xmlphp-xmlwriterphp-zippython3supervisorunzipzipComposer已内置,可直接在容器内执行composer install等命令。Composer版本在Dockerfile中固定,避免因Composer自动更新导致与PHP环境或依赖包冲突。
开发版本在生产版本基础上增加了开发必需的依赖,包括:
php-sqlitephp-pdo_sqlitephp-xdebug开发版本默认启用xdebug扩展,支持代码覆盖率分析工具及IDE调试功能。
官方镜像通过GitHub Actions自动构建并推送到Docker Hub。如需本地构建,需注意仓库的嵌套结构,显式指定构建上下文和Dockerfile路径。
bash# 上下文设为项目根目录,指定目标PHP版本的Dockerfile docker build -t defrostedtuna/php-nginx:8.0 . -f php-8.0/Dockerfile
bash# 构建开发版镜像 docker build -t defrostedtuna/php-nginx:8.0-dev . -f php-8.0/dev.Dockerfile


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