Coolify logoCoolify
Coolify banner

Dockerfile 包含构建 Docker 镜像的分步说明,Coolify 使用这些说明来部署您的应用程序或网站。

Dockerfile 构建包允许您使用自己的 Dockerfile 来部署应用程序,您可以完全控制应用程序在 Coolify 上的构建和部署方式。

如何使用 Dockerfile?

1. 在 Coolify 中创建新资源

在 Coolify 仪表板上,打开您的项目并点击 创建新资源 按钮。

Coolify dashboard screenshot

2. 选择您的部署选项

Coolify dashboard screenshot

A. 如果您的 Git 仓库是公开的,请选择 公共仓库 选项。

B. 如果您的仓库是私有的,您可以选择 Github App部署密钥。(这些方法需要额外的配置。如有需要,您可以查看有关设置 Github App部署密钥 的指南。)

3. 选择您的 Git 仓库

如果您使用的是公共仓库,请在提示时粘贴您的 GitHub 仓库 URL。所有其他选项的步骤非常相似。

Coolify dashboard screenshot

4. 选择构建包

Coolify 默认使用 Nixpacks。点击 Nixpacks 选项,并从下拉菜单中选择 Dockerfile 作为您的构建包。

Coolify dashboard screenshot

5. 配置构建包

Coolify dashboard screenshot
  • 分支: Coolify 将自动检测您仓库中的分支。
  • 基础目录: 输入 Coolify 应用作根目录的目录。如果您的文件位于根目录,请使用 /,或者指定子文件夹(例如,对于 monorepo 使用 /backend)。

设置好上述所有设置后,点击 继续 按钮。

6. 配置网络设置

点击 继续 后,更新您的域名和环境变量(如果需要)等设置。

重要的选项是您的应用程序运行的端口。 Coolify 将默认端口设置为 3000,因此如果您的应用程序监听不同的端口,请更新网络部分中的端口号。

Coolify dashboard screenshot

高级配置

环境变量

您可以从 Coolify UI 管理您的环境变量。

点击 环境变量 选项卡以添加或更新它们。

Coolify dashboard screenshot

预/后部署命令

Coolify dashboard screenshot
  • 预部署: 可选地,指定在部署开始之前在现有容器中执行的脚本或命令。此命令使用 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 多核扩展 指南。

已知问题及解决方案

On this page