

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 本機快取
<a name="caching-local"></a>

本機快取將快取存放在組建主機的本機，而僅供該組建主機使用。這是中大型建置成品的好選項，因為快取可立即在建置主機上使用。如果是不常存取的組建，這不是最佳選項。這表示組建效能不會受到網路傳輸時間所影響。

如果您選擇本機快取，您必須選擇以下一或多個快取模式：
+ 來源快取模式會快取主要和次要來源的 Git 中繼資料。建立快取之後，後續組建只會提取遞交之間的變更。如果專案有全新的工作目錄，且來源是大型的 Git 儲存庫，此模式是很好的選擇。如果您選擇此選項，且您的專案不使用 Git 儲存庫 (AWS CodeCommit、GitHub、GitHub Enterprise Server 或 Bitbucket)，則會忽略此選項。
+ Docker 層快取模式會快取現有的 Docker 層。如果專案會建置或提取大型 Docker 影像，此模式是很好的選擇。它可以避免從網路提取大型 Docker 影像所造成的效能問題。
**注意**  
您只能在 Linux 環境中使用 Docker 層快取。
您必須設定 `privileged` 旗標，專案才能具備所需的 Docker 許可。  
預設會為非 VPC 建置啟用 Docker 協助程式。如果您想要將 Docker 容器用於 VPC 建置，請參閱 Docker 文件網站上的[執行期權限和 Linux 功能](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)，並啟用特權模式。此外，Windows 不支援特殊權限模式。
使用 Docker 層快取之前，您應該考慮安全隱憂。
+ 自訂快取模式會快取您在 buildspec 檔案中指定的目錄。如果您的組建案例不適合其他兩個本機快取模式，此模式是很好的選擇。如果您使用自訂快取：
  + 只能指定目錄來快取。您不能指定個別檔案。
  + 符號連結用來參考快取的目錄。
  + 在您的組建下載其專案來源之前，快取的目錄會連結到您的組建。如果快取項目具有相同名稱，則會覆寫來源項目。目錄的指定方式是使用 buildspec 檔案中的快取路徑。如需詳細資訊，請參閱[Buildspec 語法](build-spec-ref.md#build-spec-ref-syntax)。
  + 避免來源和快取中的目錄名稱相同。本機快取的目錄可能會覆寫或刪除具有相同名稱之來源儲存庫中的目錄內容。

**注意**  
`LINUX_GPU_CONTAINER` 環境類型和`BUILD_GENERAL1_2XLARGE`運算類型不支援本機快取。如需詳細資訊，請參閱[建置環境運算模式和類型](build-env-ref-compute-types.md)。

**注意**  
當您設定 CodeBuild 使用 VPC 時，不支援本機快取。如需搭配 CodeBuild 使用 VPCs 的詳細資訊，請參閱 [AWS CodeBuild 搭配 Amazon Virtual Private Cloud 使用](vpc-support.md)。