本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 Engine
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 容器镜像。