coolify部署自带dockerfile的php项目时,应选择从git仓库构建,让copy指令能读取项目文件,再把容器内部端口与域名路由对应。下面以官方php apache镜像和public目录中的简单应用为例;仅在面板中粘贴dockerfile、却不提供git构建上下文,不适合复制仓库代码的流程。

Coolify官方Dockerfile构建上下文说明
在仓库准备入口与Dockerfile
# Dockerfile FROM php:8.4-apache COPY public/ /var/www/html/ EXPOSE 80
仓库中创建public/index.php作为入口,例如下面的健康响应。该最小应用不使用数据库或Composer;实际项目若有扩展、依赖和框架入口,需要在Dockerfile中按其要求安装,不能只复制这一段就视为框架已经配置完成。
<?php
header('Content-Type: application/json; charset=utf-8');
echo json_encode(['status' => 'ok'], JSON_UNESCAPED_UNICODE);
选择Git来源与构建位置
在Coolify项目环境中创建来自Git的应用,选择Dockerfile构建。Base Directory设为项目的实际目录,Dockerfile Location相对于该目录填写;示例Dockerfile位于仓库根目录时使用根目录对应位置。提交代码后再部署,检查构建日志是否成功执行COPY。

Coolify官方应用通用配置说明
配置端口和访问域名
Apache镜像内部监听80端口,在应用通用配置中使用对应端口和实际域名路由。内部端口、域名转发与宿主机直接暴露端口是不同设置,通常不必为代理访问额外公开容器端口。启动后访问域名,核对返回status为ok,并检查健康状态与应用日志。
环境变量按构建期和运行期分别配置,凭据不要写进Dockerfile或普通构建参数。容器重新部署会替换其文件系统,上传文件等持久数据应另行配置挂载;存储挂载也不等于已经具备备份。
立即学习“PHP免费学习笔记(深入)”;



















