在docker-compose中重复使用容器层,用于GreenGrass部署。

0

【以下的问题经过翻译处理】 我们有一个组件,在我们的Greengrass设备上使用docker-compose启动多个容器。根据文档,从ECR提供私有docker镜像的正确方式是将它们提供为构件:

"URI": "docker:public.ecr.aws/cloudwatch-agent/cloudwatch-agent:latest"

我们项目的一个重要方面是可以重复使用镜像的层。我们的设备带宽有限,镜像可能很大(例如PyTorch)。如果我们需要对镜像进行修改,通常只有最后一个小层会通过有限带宽网络进行更新。我担心在使用镜像作为构件时,整个镜像都将被重新下载。这是真的吗?

我目前的解决方法是使用“安装”生命周期步骤来执行“docker-compose pull”并删除构件,但这会在重新启动时运行,而我更希望只在有新部署时更新镜像。

profile picture
专家
已提问 5 个月前48 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,TSpark,

Docker pull命令不会重新下载已经存在的镜像。它只会下载已更改或不存在的层。当使用Greengrass作为下载镜像的工具时,Greengrass会简单地调用docker pull,因此Docker使用的所有缓存同样适用于Greengrass。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则