Matt Callanan 提供的答案对我不起作用:我在这部分收到一个错误:
--container-definitions "'$(echo $NEW_CONTAINER_DEFS)'"
导致:解析参数'--container-definitions'时出错:预期:'=',收到:'''输入:
'{ 环境:[ { 等等等等......
我为解决它所做的是:
TASK_FAMILY=<task familiy name>
DOCKER_IMAGE=<new_image_name>
LATEST_TASK_DEFINITION=$(aws ecs describe-task-definition --task-definition ${TASK_FAMILY})
echo $LATEST_TASK_DEFINITION \
| jq '{containerDefinitions: .taskDefinition.containerDefinitions, volumes: .taskDefinition.volumes}' \
| jq '.containerDefinitions[0].image='\"${DOCKER_IMAGE}\" \
> /tmp/tmp.json
aws ecs register-task-definition --family ${TASK_FAMILY} --cli-input-json file:///tmp/tmp.json
我从原始 json 文档中获取了 containerDefinitions 和 volumes 元素,因为我的 containerDefinition 使用了这些卷(因此,如果您不使用卷,则不需要它)。