ECS上的Rails迁移

问题描述 投票:3回答:1

我试图找出如何在我的ECS服务上运行rake db:migrate但在部署后只在一台机器上运行。

有人有经验吗?

谢谢

ruby-on-rails docker amazon-ecs
1个回答
3
投票

您可以通过Amazon ECS一次性任务来完成。

  1. 在您的docker文件中使用rake db migrate构建一个docker镜像作为“CMD”。
  2. 创建任务定义。您可以在创建任务定义和所需任务编号为“1”时为每个主机选择一个任务。
  3. 在群集内运行一次性ECS任务。一定要在外面服务。完成任务后,容器将自动停止。

您可以在部署之前编写脚本来执行此操作。之后,您可以照常定义其他任务。

您还可以在此处参考Amazon ECS中的容器生命周期:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_life_cycle.html。但是,这是docker的默认行为。

请让我知道这对你有没有用。

© www.soinside.com 2019 - 2024. All rights reserved.