在 Docker 容器中執行 AWS IoT Greengrass 核心軟體 - AWS IoT Greengrass

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

在 Docker 容器中執行 AWS IoT Greengrass 核心軟體

AWS IoT Greengrass 可以配置為在 Docker 容器中運行。Docker 是一個平台,可為您提供各種工具來構建,運行,測試和部署基於 Linux 容器的應用程序。當您執行 AWS IoT Greengrass Docker 映像檔時,您可以選擇是否提供您的 AWS 認證給 Docker 容器,並允許 AWS IoT Greengrass 核心軟體安裝程式自動佈建 Greengrass 核心裝置運作所需的 AWS 資源。如果您不想提供 AWS 認證,則可以在 Docker 容器中手動佈建 AWS 資源並執行 AWS IoT Greengrass Core 軟體。

支援平台和需求

主機電腦必須符合下列最低需求,才能在 Docker 容器中安裝和執行 AWS IoT Greengrass Core 軟體:

  • 具有網際網路連線的 Linux 作業系統。

  • 碼頭引擎版本 18.09 或更高版本。

  • (可選)碼頭編寫版本 1.22 或更高版本。只有當你想使用碼頭構成 CLI 來運行 Docker 映像時,才需要碼頭構成。

若要在 Docker 容器內執行 Lambda 函數元件,您必須設定容器以符合其他需求。如需詳細資訊,請參閱 Lambda 函數要求

在處理模式下執行元件

AWS IoT Greengrass 不支援在 AWS IoT Greengrass Docker 容器內的隔離執行階段環境中執行 Lambda 函數或 AWS提供的元件。您必須在處理模式中執行這些元件,而不需要任何隔離。

設定 Lambda 函數元件時,請將隔離模式設定為無容器。如需詳細資訊,請參閱 執行AWS Lambda函數

當您部署下列任何 AWS提供的元件時,請更新每個元件的組態,以將containerMode參數設定為NoContainer。如需有關組態更新的詳細資訊,請參閱更新零組件組態

AWS IoT Greengrass 碼頭軟體下載

AWS IoT Greengrass 提供一個碼頭檔案來建置一個容器映像檔,該映像檔具有安裝在 Amazon Linux 2 (x86_64) 基礎映像上的 AWS IoT Greengrass 核心軟體和相依性。您可以修改 Docker 文件中的基本映像以在不同的平台架構 AWS IoT Greengrass 上運行。

從下載碼頭文件包。GitHub

碼頭文件使用舊版本的 Greengrass。您應該更新該文件以使用所需的 Greengrass 版本。如需有關從 Docker 檔案建置 AWS IoT Greengrass 容器影像的資訊,請參閱。從碼頭文件構建AWS IoT Greengrass容器映像

選擇如何佈建 AWS 資源

當您在 Docker 容器中安裝 AWS IoT Greengrass Core 軟體時,您可以選擇是否要自動佈建 Greengrass 核心裝置操作所需的 AWS 資源,還是使用手動佈建的資源。

  • 自動資源佈建 — 當您第 AWS IoT 一次執行 AWS IoT Greengrass 容器映像時,安裝程式會佈建物件、 AWS IoT 物群組、IAM AWS IoT 角色和角色別名。安裝程式也可以將本機開發工具部署到核心裝置,以便您可以使用該裝置來開發和測試自訂軟體元件。若要自動佈建這些資源,您必須提供 AWS 認證作為 Docker 映像的環境變數。

    若要使用自動佈建,您必須設定 Docker 環境變數PROVISION=true並掛載認證檔案,以提供您的認 AWS 證給容器。

  • 手動資源佈建 — 如果您不想提供 AWS 認證給容器,則可以在執行 AWS IoT Greengrass 容器映像之前手動佈建 AWS 資源。您必須建立組態檔,將這些資源的相關資訊提供給 Docker 容器內的 AWS IoT Greengrass Core 軟體安裝程式。

    若要使用手動佈建,您必須設定 Docker 環境變數PROVISION=false。手動佈建是預設選項。

如需更多詳細資訊,請參閱 從碼頭文件構建AWS IoT Greengrass容器映像