在 Docker 容器中运行 Amazon IoT Greengrass 核心软件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

支持的平台和要求

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

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

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

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

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

在处理模式下运行组件

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

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

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

Amazon IoT Greengrass Docker 软件下载

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

从中下载 Dockerfile 软件包。GitHub

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

选择如何配置 Amazon 资源

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

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

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

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

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

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