如何覆盖 AWS Batch 作业中的 docker 映像?
Posted
技术标签:
【中文标题】如何覆盖 AWS Batch 作业中的 docker 映像?【英文标题】:How to override the docker image in an AWS Batch job? 【发布时间】:2019-10-14 11:11:39 【问题描述】:在 AWS Batch 中,我试图在提交作业时覆盖作业定义中硬编码的图像。但我没有看到任何相关的文档。
当我在作业提交期间尝试添加 image
字段时,我得到:
参数验证失败:输入中的未知参数:“图像”,必须 是以下之一:jobName、jobQueue、arrayProperties、dependOn、 jobDefinition、参数、containerOverrides、retryStrategy、超时
或
参数验证失败:containerOverrides 中的未知参数: “图像”,必须是以下之一:vcpus、内存、命令、环境
【问题讨论】:
【参考方案1】:我相信这是不可能的。
image
是一个容器属性,因为this doc 在命令、vcpus 和内存旁边显示它,但许多容器属性(例如工作角色 arn)在aws batch submit-job help
文档中并未列为可覆盖。
您的第二条错误消息显示了所有可以被覆盖的容器属性,与文档中的属性相匹配。
--container-overrides (structure)
JSON 格式的容器覆盖列表,指定指定作业定义中容器的名称及其应接收的覆盖。您可以使用命令覆盖覆盖容器的默认命令(在作业定义或 Docker 映像中指定)。您还可以覆盖容器上的现有环境变量(在作业定义或 Docker 映像中指定)或使用环境覆盖向其添加新环境变量。
简写语法:
vcpus=integer,memory=integer,command=string,string,instanceType=string,environment=[name=string,value=string,name=string,value=string],resourceRequirements=[value=string,type=string,value=string,type=string]
JSON 语法:
"vcpus": integer,
"memory": integer,
"command": ["string", ...],
"instanceType": "string",
"environment": [
"name": "string",
"value": "string"
...
],
"resourceRequirements": [
"value": "string",
"type": "GPU"
...
]
【讨论】:
以上是关于如何覆盖 AWS Batch 作业中的 docker 映像?的主要内容,如果未能解决你的问题,请参考以下文章