Dockerfile 包含构建 Docker 镜像的分步说明,Coolify 使用这些说明来部署您的应用程序或网站。
Dockerfile 构建包允许您使用自己的 Dockerfile 来部署应用程序,您可以完全控制应用程序在 Coolify 上的构建和部署方式。
如何使用 Dockerfile?
1. 在 Coolify 中创建新资源
在 Coolify 仪表板上,打开您的项目并点击 创建新资源 按钮。
2. 选择您的部署选项
A. 如果您的 Git 仓库是公开的,请选择 公共仓库 选项。
B. 如果您的仓库是私有的,您可以选择 Github App 或 部署密钥。(这些方法需要额外的配置。如有需要,您可以查看有关设置 Github App 或 部署密钥 的指南。)
3. 选择您的 Git 仓库
如果您使用的是公共仓库,请在提示时粘贴您的 GitHub 仓库 URL。所有其他选项的步骤非常相似。
4. 选择构建包
Coolify 默认使用 Nixpacks。点击 Nixpacks 选项,并从下拉菜单中选择 Dockerfile 作为您的构建包。
5. 配置构建包
- 分支: Coolify 将自动检测您仓库中的分支。
- 基础目录: 输入 Coolify 应用作根目录的目录。如果您的文件位于根目录,请使用
/,或者指定子文件夹(例如,对于 monorepo 使用/backend)。
设置好上述所有设置后,点击 继续 按钮。
6. 配置网络设置
点击 继续 后,更新您的域名和环境变量(如果需要)等设置。
重要的选项是您的应用程序运行的端口。 Coolify 将默认端口设置为 3000,因此如果您的应用程序监听不同的端口,请更新网络部分中的端口号。
高级配置
环境变量
您可以从 Coolify UI 管理您的环境变量。
点击 环境变量 选项卡以添加或更新它们。
预/后部署命令
- 预部署: 可选地,指定在部署开始之前在现有容器中执行的脚本或命令。此命令使用
sh -c运行,因此您无需手动添加它。 - 后部署: 可选地,指定在部署完成后在新构建的容器中执行的脚本或命令。此命令也使用
sh -c执行。
构建参数
Coolify 在构建过程中自动将构建参数注入到您的 Dockerfile 中。这些包括您配置的环境变量和预定义的系统值,如 SOURCE_COMMIT。
您可以在应用程序的 高级 菜单中配置这些设置。
将构建参数注入 Dockerfile
默认情况下,Coolify 会将 Docker 构建参数(ARG 语句)注入到您的 Dockerfile 中。如果您更喜欢在 Dockerfile 中手动管理构建参数,您可以在高级菜单中禁用此行为。
- 启用(默认): Coolify 自动注入构建参数
- 禁用: 您在 Dockerfile 中自行管理
ARG语句
在构建中包含源提交
SOURCE_COMMIT 变量包含您源代码的 Git 提交哈希。默认情况下,为了保留 Docker 的构建缓存,此变量会被排除在构建之外。如有需要,您可以在高级菜单中启用此功能。
- 禁用(默认): 不包含
SOURCE_COMMIT,提高缓存利用率 - 启用: 将
SOURCE_COMMIT作为构建参数包含在内
构建缓存优化
启用“在构建中包含源提交”将导致 Docker 的构建缓存每次提交时都失效,因为提交哈希每次都会更改。仅在您的构建过程需要提交哈希时才启用此功能。
Node.js 多核扩展
普通的 Node.js 进程仅使用一个 CPU 核心。要使 Node.js(或 Bun)应用程序从单个 Dockerfile 构建中使用主机上的每个核心,请参阅 Node.js 多核扩展 指南。
