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