我试图弄清楚如何在ECS服务上运行rake db:migrate,但在部署后仅在一台计算机上运行.
任何人都有经验吗?
谢谢
最佳答案
您可以通过Amazon ECS一次性任务来完成.
>使用docker文件中的rake db migration作为“ CMD”构建docker镜像.
>创建任务定义.您可以在创建任务定义和所需任务号为“ 1”时为每个主机选择一个任务.
>在集群内运行一次性ECS任务.确保使其不在服务范围内.完成任务后,容器将自动停止.
您可以在部署之前编写脚本来执行此操作.之后,您可以照常定义其他任务.
您还可以在这里参考Amazon ECS中的容器生命周期:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_life_cycle.html.但是,这是docker的默认行为.
请让我知道这对你有没有用.