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