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

作者:API传播员 · 2025-10-23 · 阅读时间:4分钟
本文介绍如何使用Depot Build API作为服务构建Docker镜像,包括设置项目、API交互和构建步骤,帮助开发者高效、安全地外包构建任务,避免管理基础设施的复杂性。

一. Depot Build API 的核心价值

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

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

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

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


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

以下步骤演示如何使用 Depot Build API 构建 Docker 镜像,以一个简单的 “Hello World” 应用为例。

1. 设置组织和获取 API 令牌

  1. 登录 Depot 仪表板并创建一个新组织
  2. 进入 Settings 菜单,创建一个 API 令牌,并将其保存到安全位置
  3. 将令牌设置为环境变量 DEPOT_TOKEN
export DEPOT_TOKEN=your_api_token

2. 安装 Depot CLI

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

brew install depot

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

3. 创建和配置项目

使用 API 创建新的 Depot 项目:

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();

每个项目都配备独立的缓存存储和构建器机器,确保缓存隔离。

4. 运行 Docker 构建

通过 BuildService 配置构建,并使用 CLI 编排构建:

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

构建过程中,可在 Depot 仪表板查看状态和日志。

5. 运行 Docker 容器

构建完成后,镜像会被加载到本地 Docker 守护程序:

docker images
docker run --rm your_image_id

三. 高级功能:直接与 BuildKit 交互

对于需要直接操作 BuildKit 的用户,Depot 提供 BuildKitService,支持:

  • 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