如何使用容器覆盖在AWS ECS上运行服务?

在AWS ECS上,您可以运行任务或服务。

如果使用run_task(**kwargs)运行任务,则可以select覆盖某些任务选项,例如容器环境variables,这样您就可以在容器中configuration事物。 那很棒。

现在,我无法find一个方法如何做同样的create_service(**kwargs) 。 您只能指定一个任务,因此创build的容器将按照任务定义中指定的configuration运行。 没办法configuration它。

有没有办法如何修改服务中的任务,或者这对于AWS ECS服务来说是不可能的?

这不可能。 如果您认为服务的工作方式,他们会创buildX个副本的任务。 任务的所有实例都有相同的参数,因为目的是扩大任务 – 他们应该做同样的工作。 通常,stream量是负载均衡的(服务configuration的一部分),所以不希望下一次比以前的请求得到不同的响应,因为结束了不同configuration的任务。 所以底线是 – 这是devise。

由于参数是共享的,所以如果需要更改参数,则可以创build任务的新定义,然后将其作为服务启动(或更新现有服务)。

如果你想让这些任务知道其他任务(并且因此performance不同),例如将数据写入分片存储的不同分片中,则必须在任务的逻辑中实现这些任务。