# 工作原理
<subtitle>模板构建流程的工作原理</subtitle>

## 整体流程

每次构建沙箱模板时，我们都会基于定义创建一个容器。我们提取容器的文件系统，进行配置和依赖安装，运行层命令并启动沙箱。

然后，执行以下步骤：
1. 获取正在运行的沙箱。
2. （仅当您指定了 [启动命令](/docs/agent-sandbox/template/start-ready-command.md#启动命令) 时，否则跳过此步骤）执行启动命令。
3. 等待就绪（如果指定了启动命令，默认等待 20 秒；否则立即就绪）。可以使用 [就绪命令](/docs/agent-sandbox/template/start-ready-command.md#就绪命令) 配置就绪检查。
4. 对沙箱进行快照，使其可以通过 SDK 启动。

我们将这个沙箱快照称为**沙箱模板**。

> **沙箱快照**
> 
> 快照是已保存的运行中沙箱。我们序列化并保存整个沙箱的文件系统以及所有正在运行的进程，以便稍后可以加载。
> 
> 这使我们能够在约 80 毫秒内加载沙箱，所有进程已经在运行，文件系统与当时完全一样。

## 默认用户和工作目录

要了解更多关于默认用户和工作目录的信息，请参阅 [用户和工作目录](/docs/agent-sandbox/template/user-and-workdir.md) 部分。

## 缓存

要了解更多关于缓存的信息，请参阅 [缓存](/docs/agent-sandbox/template/caching.md) 部分。

## 内核

UCloud Sandbox 沙箱运行在 **LTS 6.1 Linux 内核**上。

> 内核版本在**模板构建时**固定。如果需要使用更新的内核版本，请重新构建模板。
