在 Docker 容器中运行 AWS IoT Greengrass 核心软件 - AWS IoT Greengrass

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Docker 容器中运行 AWS IoT Greengrass 核心软件

AWS IoT Greengrass 可以配置为在 Docker 容器中运行。Docker 是一个平台,可为您提供构建、运行、测试和部署基于 Linux 容器的应用程序的工具。运行 AWS IoT Greengrass Docker 镜像时,您可以选择是否向 Docker 容器提供 AWS 凭据,并允许 C AWS IoT Greengrass ore 软件安装程序自动配置 Greengrass 核心设备运行 AWS 所需的资源。如果您不想提供 AWS 凭证,则可以手动配置 AWS 资源并在 Docker 容器中运行 C AWS IoT Greengrass ore 软件。

支持的平台和要求

主机必须满足以下最低要求才能在 Docker 容器中安装和运行 C AWS IoT Greengrass ore 软件:

  • 基于Linux的操作系统,可连接互联网。

  • Docker Engin e 版本 18.09 或更高版本。

  • (可选)Docker Compose 版本 1.22 或更高版本。只有当你想使用 Docker Compose CLI 来运行 Docker 镜像时,才需要 Docker Compose。

要在 Docker 容器内运行 Lambda 函数组件,必须配置容器以满足其他要求。有关更多信息,请参阅Lambda 函数要求

在处理模式下运行组件

AWS IoT Greengrass 不支持在 Docker 容器内的隔离运行时环境中运行 Lambda 函数或 AWS提供的组件。 AWS IoT Greengrass 您必须在没有任何隔离的情况下在进程模式下运行这些组件。

配置 Lambda 函数组件时,请将隔离模式设置为 “容器”。有关更多信息,请参阅运行AWS Lambda函数

部署以下任何 AWS提供的组件时,请更新要将containerMode参数设置为的每个组件的配置。NoContainer有关配置更新的更多信息,请参阅更新组件配置

AWS IoT Greengrass Docker 软件下载

AWS IoT Greengrass 提供了 Dockerfile 来构建在亚马逊 Linux 2 (x86_64) 基础映像上安装了 AWS IoT Greengrass 核心软件和依赖项的容器镜像。您可以修改 Dockerfile 中的基础映像,使其在不同的平台架构 AWS IoT Greengrass 上运行。

从中下载 Dockerfile 软件包。GitHub

Dockerfile 使用的是旧版本的 Greengrass。你应该更新文件以使用你想要的 Greengrass 版本。有关从 Dockerfile 构建 AWS IoT Greengrass 容器镜像的信息,请参阅。从 Dockerfile 构建AWS IoT Greengrass容器镜像

选择如何配置 AWS 资源

在 Docker 容器中安装 AWS IoT Greengrass 核心软件时,您可以选择是自动配置 Greengrass 核心设备运行所需的 AWS 资源,还是使用手动配置的资源。

  • 自动资源预置-当您首次运行 AWS IoT Greengrass 容器映像时,安装程序会预置 AWS IoT 事物、事物组、IAM AWS IoT 角色和角色别名。 AWS IoT 安装程序还可以将本地开发工具部署到核心设备,因此您可以使用该设备开发和测试自定义软件组件。要自动配置这些资源,您必须向 Docker 镜像提供 AWS 凭证作为环境变量。

    要使用自动配置,必须设置 Docker 环境变量PROVISION=true并挂载凭证文件以向容器提供您的 AWS 凭据。

  • 手动资源配置-如果您不想为容器提供 AWS 凭证,则可以在运行 AWS IoT Greengrass 容器映像之前手动配置 AWS 资源。您必须创建配置文件,以便向 Docker 容器中的 C AWS IoT Greengrass ore 软件安装程序提供有关这些资源的信息。

    要使用手动配置,必须设置 Docker 环境变量PROVISION=false。手动配置是默认选项。

有关更多信息,请参阅 从 Dockerfile 构建AWS IoT Greengrass容器镜像