Docker容器停止时停止AWS ECS Fargate任务

时间:2019-08-10 17:44:11

标签: amazon-web-services docker amazon-ecs aws-fargate

是否有一种方法可以使Docker容器停止时自动停止AWS ECS Fargate任务?

2 个答案:

答案 0 :(得分:1)

泊坞窗容器应具有CMD脚本。当该CMD脚本终止时,泊坞窗容器将停止,因此,您的ECS任务也应停止。请注意,如果您已将其作为某种服务启动,则ECS将启动替换任务(例如,在出现故障或错误时保持Web服务器正常运行)

如果您的ECS任务在容器“停止”时没有停止,那么我猜您的命令指向的是永不停止的东西(例如BASH shell),而您正在以其他方式启动主任务。如果您的容器是以规范的方式构建的,那么这应该“起作用”。

答案 1 :(得分:0)

启动任务,而不是服务。服务用于需要长期保持运行状态的长时间运行的流程。您的用例需要一个任务,一旦完成,该任务将退出容器。让您的Dockerfile使用CMD选项。示例:

FROM node:6
WORKDIR /usr/local/src/app
COPY . .

# ...

CMD [ "node", "script-name.js" ]

确保您的脚本正确退出,并且即使在cmd脚本终止后,在此期间没有其他启动的进程正在运行,这可能会导致您的容器保持更长时间的活动。