Depot Build API 教程:高效构建 Docker 镜像的完整指南

作者:API传播员 · 2025-10-23 · 阅读时间:4分钟

本文将详细介绍如何使用 Depot Build API 在 Depot 的基础设施上以服务形式构建 Docker 镜像。通过本文,您将了解如何设置项目、与 API 交互以及运行 Docker 构建的具体步骤。Depot 提供了一种高效、安全的解决方案,帮助开发者摆脱管理构建基础设施的复杂性。


Depot Build API 的核心价值

构建 Docker 镜像需要高级权限,并且必须确保构建过程的安全性,避免对其他资源的影响。尤其在处理不受信任的代码时,风险更高。传统方法通常需要自行搭建复杂的构建基础设施,这不仅耗时耗力,还可能带来高昂的维护成本。

Depot Build API 提供了一种简化的解决方案。通过该 API,您可以将 Dockerfile 和构建上下文发送到 Depot 的远程构建服务,利用其高性能的基础设施完成构建。Depot 的远程构建服务支持以下功能:

  • 优化构建传输速度。
  • 高效构建镜像并持久化缓存。
  • 将构建好的镜像返回或推送到指定的注册表。

通过 Depot Build API,您无需再为管理构建基础设施而烦恼。


使用 Depot API 构建 Docker 镜像的步骤

以下是使用 Depot Build API 构建 Docker 镜像的详细步骤。本教程假设您在本地运行 Docker 容器,并以一个简单的 "Hello World" 应用程序为例。

步骤 1:设置组织和获取 API 令牌

  1. 登录 Depot 仪表板并创建一个新组织。
  2. 进入 Settings 菜单,创建一个 API 令牌。建议将令牌保存到安全的地方,并将其设置为环境变量 DEPOT_TOKEN,以便后续脚本使用。
export DEPOT_TOKEN=your_api_token

步骤 2:安装 Depot CLI

安装 Depot CLI 工具以运行构建。对于 macOS 用户,可以通过 Homebrew 安装:

brew install depot

其他系统用户可参考官方文档获取安装命令。

步骤 3:创建和配置项目

使用 API 创建一个新的 Depot 项目。以下是一个示例脚本,展示如何通过 ProjectService 创建项目:

const depot = require('depot-sdk');

const client = new depot.Client({ token: process.env.DEPOT_TOKEN });
const projectName = 'my-docker-project';async function createProject() {
  const project = await client.ProjectService.createProject({ name: projectName });
  console.log('Project created:', project);
}createProject();

运行脚本后,您将在 Depot 仪表板中看到新创建的项目。每个项目都配备独立的缓存存储和构建器机器,确保缓存隔离。

步骤 4:运行 Docker 构建

通过 BuildService 配置构建,并使用 depot build CLI 编排构建。以下是构建命令示例:

depot build --project-id your_project_id --context ./path/to/context --load

运行后,您可以在 Depot 仪表板中查看构建状态和详细日志。

步骤 5:运行 Docker 容器

构建完成后,镜像会被加载到本地 Docker 守护程序中。您可以使用以下命令查看镜像:

docker images

然后,使用镜像 ID 运行容器:

docker run --rm your_image_id

高级功能:直接与 BuildKit 交互

对于需要直接与 BuildKit 交互的用户,Depot 提供了 BuildKitService,支持以下 API 调用

  • getEndpoint():获取构建端点。
  • reportHealth():定期报告构建状态。
  • releaseEndpoint():释放构建资源。

通过这些功能,您可以在现有的 BuildKit 构建中利用 Depot 的高性能基础设施。


总结

通过 Depot Build API,您可以高效、安全地外包 Docker 构建任务,而无需管理复杂的基础设施。Depot 的远程构建服务支持 x86 和 ARM 架构,配备 16 个 vCPU、32 GB 内存和 50+ GB NVMe 缓存磁盘,能够显著提升构建速度。

无论是使用 API 还是直接通过 CLI,Depot 都为开发者提供了灵活的解决方案,帮助您专注于核心业务,而无需为构建性能和安全性担忧。

原文链接: https://depot.dev/blog/docker-build-api