本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Docker 应用程序管理器
Docker 应用程序管理器组件 (aws.greengrass.DockerApplicationManager
) Amazon IoT Greengrass 允许从亚马逊弹性容器注册表 (亚马逊) 上托管的公共映像注册表和私有注册表下载 Docker 镜像。ECR它还允许自动管理证书 Amazon IoT Greengrass ,以便安全地从亚马逊的私有存储库下载图像ECR。
开发运行 Docker 容器的自定义组件时,请将 Docker 应用程序管理器作为依赖关系包含在组件中,用于下载指定为构件的 Docker 映像。有关更多信息,请参阅 运行 Docker 容器。
版本
此组件具有以下版本:
-
2.0.x
Type
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass Nucleus 运行组件的生命周期脚本。
有关更多信息,请参阅组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
要求
此组件具有以下要求:
-
Greengrass 核心设备上安装的 Docker Engine
1.9.1 或更高版本。版本 20.10 是经验证可与 Amazon IoT Greengrass 核心软件配合使用的最新版本。在部署运行 Docker 容器的组件之前,必须直接在核心设备上安装 Docker。 -
在部署此组件之前,Docker 进程守护程序已启动并在核心设备上运行。
-
存储在以下支持的映像源之一中的 Docker 映像:
-
Amazon 弹性容器注册表 (AmazonECR) 中的公有和私有图像存储库
-
公共 Docker Hub 存储库
-
公共 Docker 可信注册表
-
-
Docker 映像作为构件包含在您的自定义 Docker 容器组件中。使用以下URI格式来指定您的 Docker 镜像:
-
亚马逊私有ECR图片:
docker:
account-id
.dkr.ecr.region
.amazonaws.com/repository
/image
[:tag|@digest
] -
Amazon 公开ECR图片:
docker:public.ecr.aws/
repository
/image
[:tag|@digest
] -
Docker Hub 公共映像:
docker:
name
[:tag|@digest
]
有关更多信息,请参阅 运行 Docker 容器。
注意
如果您没有在构件中URI为图像指定图像标签或图像摘要,则当您部署自定义 Docker 容器组件时,Docker 应用程序管理器会提取该镜像的最新可用版本。为确保所有核心设备都运行相同版本的映像,我们建议您在构件中包含图像标签或图像摘要URI。
-
-
运行 Docker 容器组件的系统用户必须具有根或管理员权限,或者您必须将 Docker 配置为以非根用户或非管理员用户身份运行。
-
在 Linux 设备上,您可向
docker
组中添加一个用户以调用docker
命令,无需sudo
。 -
在 Windows 设备上,您可将用户添加到
docker-users
组中以调用docker
命令,无需管理员权限。
-
-
如果您将 Amazon IoT Greengrass Core 软件配置为使用网络代理,则必须将 Docker 配置为使用相同的代理服务器
。 -
如果您的 Docker 镜像存储在 Amazon ECR 私有注册表中,则必须将令牌交换服务组件作为依赖项包含在 Docker 容器组件中。此外,Greengrass 设备角色必须允许
ecr:GetAuthorizationToken
、ecr:GetDownloadUrlForLayer
和操作ecr:BatchGetImage
,如以下示例策略所示。IAM{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
-
支持 docker 应用程序管理器组件在中运行。VPC要在中部署此组件VPC,需要满足以下条件。
-
Docker 应用管理器组件必须具备下载映像的连接功能。例如,如果您使用ECR,则必须连接到以下端点。
-
*.dkr.ecr.
(VPC端点region
.amazonaws.comcom.amazonaws.
)region
.ecr.dkr -
api.ecr.
(VPC端点region
.amazonaws.comcom.amazonaws.
)region
.ecr.api
-
-
端点和端口
除基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙。
Endpoint | 端口 | Required | 描述 |
---|---|---|---|
|
443 | 否 |
如果您从亚马逊ECR下载 Docker 镜像,则为必填项。 |
|
443 | 否 |
如果您从 Docker Hub 下载 Docker 映像,则此为必填项。 |
依赖项
部署组件时, Amazon IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件没有任何配置参数。
本地日志文件
此组件使用与 Greengrass Nucleus 组件相同的日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
2.0.13 |
Greengrass nucleus 版本 2.14.0 版本的版本已更新。 |
2.0.12 |
对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。 |
2.0.11 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
2.0.10 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
2.0.9 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
2.0.8 |
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
2.0.7 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
2.0.6 |
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。 |
2.0.5 |
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。 |
2.0.4 |
版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。 |
2.0.3 |
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。 |
2.0.2 |
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。 |
2.0.1 |
对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。 |
2.0.0 |
初始版本。 |