在 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凭据,并允许 Amazon IoT Greengrass Core 软件安装程序自动配置 Greengrass 核心设备运行所需的Amazon资源。如果您不想提供Amazon证书,则可以手动预置Amazon资源并在 Docker 容器中运行Amazon IoT Greengrass核心软件。

支持的平台和要求

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

  • 具有互联网连接的基于 Linux 的操作系统。

  • Docker 引擎版本 18.09 或更高版本。

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

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

在进程模式下运行组件

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

配置 Lambda 函数组件时,将隔离模式设置为无容器。有关更多信息,请参阅跑Amazon Lambda功能

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

Amazon IoT GreengrassDocker 软件下载

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 Core 软件时,您可以选择是自动配置 Greengrass 核心设备运行所需的Amazon资源,还是使用手动预置的资源。

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

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

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

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

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