每个 aws 批处理作业是否都会启动一个新的 docker 容器



每次提交批处理作业时,都会创建新的Docker容器还是重复使用旧容器。

如果每次都创建新的 Docker 容器,则在作业完成后容器会发生什么情况。

在 AWS ECS 中,ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION变量设置从任务停止到删除 Docker 容器为止等待的持续时间(默认为 3 小时(

如果所有这些容器在三个小时后才被清理,那么如果我提交大量作业,ECS 容器实例不是很容易被填满吗?

收到此错误 无法创建容器错误:API 错误 (500(:运行批处理作业时生成映射程序。如果我在作业结束时清理 docker 容器文件是否有帮助?

每次提交批处理作业时,都会创建新的 Docker 容器还是重复使用旧容器。

是的。在 Batch 上运行的每个作业都将作为新的 ECS 任务运行,这意味着每个作业都有一个新容器。

如果所有这些容器在三个小时后才被清理,那么如果我提交大量作业,ECS 容器实例不是很容易被填满吗?

这完全取决于您的作业工作负载、作业长度、磁盘使用情况等。对于大量消耗磁盘的短作业,这是完全可能的。

CannotCreateContainerError: API error (500): devmapper

此错误的文档指出了几种可能的解决方案,但是您已经指出的第一个解决方案在这种情况下可能无济于事。

ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION

ECS 上默认为 3h,在批处理集群上似乎默认设置为 2m - 您可以检查其中一个批处理实例上的 EC2 用户数据,以验证该数据是否在集群上以这种方式设置。根据群集的年龄,这些设置可能会更改。如果不创建全新的集群,Batch 不会自动更新到最新的 ECS 优化 AMI,因此如果它不更改设置,我也不会感到惊讶。

如果您的清理持续时间设置当前设置为较低,您可以尝试创建自定义 AMI,该 AMI 预置的容量大于正常 docker 卷。默认情况下,弹性云服务器优化型 AMI 附带 8GB 根驱动器和 22GB 的 docker 卷。

最新更新