AWS Copilot 在运行容器中运行任务

drq*_*inn 5 amazon-web-services amazon-ecs aws-fargate

我有一个 Django 实例作为负载均衡 Web 服务运行,由 AWS Copilot 部署。我想通过 Copilot 运行任务来运行 Django Migrations。

我尝试运行这样的任务:

copilot task run --command "python src/manage.py migrate"
Run Code Online (Sandbox Code Playgroud)

但是,它似乎没有在我的活动容器中运行。我希望看到迁移运行、服务日志以及更新的迁移,但我只看到标准的运行状况检查。

copilot/core-api/22 20:07:02 web.1  | INFO:     10.0.1.100:59904 - "GET /healthcheck/ HTTP/1.1" 200 OK
copilot/core-api/22 20:07:17 web.1  | INFO:     10.0.0.117:29060 - "GET /healthcheck/ HTTP/1.1" 200 OK
copilot/core-api/22 20:07:37 web.1  | INFO:     10.0.1.100:59934 - "GET /healthcheck/ HTTP/1.1" 200 OK
Run Code Online (Sandbox Code Playgroud)

我是不是误会了task run?我只有 1 个应用程序、1 个服务、1 个环境。我期望task run会在正在运行的服务中执行,但也许不是?

Mar*_*k B 4

copilot task run创建一个新容器。您正在寻找的是copilot task exec.

  • 谢谢@drquinn。我在 AWS 与 Copilot 团队一起工作,我们的目标是在 Copilot 中第一天就支持所有最新的 ECS 功能,包括最近推出的 ECS exec 功能。此官方 AWS 博客详细介绍了如何使用 Copilot 和 ECS exec (https://aws.amazon.com/blogs/containers/connecting-to-an-interactive-shell-on-your-containers-running-in-aws -fargate-使用-aws-copilot/) (3认同)