使用 ecs-cli 在 AWS 上部署 docker 时遇到问题

2024-05-09

我在 ECS 上有一个存储库,已使用 ecs-cli 创建了一个集群

ecs-cli configure --region=us-west-2 --profile=<MY PROFILE> --cluster=cluster-1

ecs-cli up --capability-iam --keypair=<MY KEYPAIR>

但下一步执行撰写文件是在失败时

ecs-cli compose --file docker-compose.yml --project-name drafter-project service up

这是我的 docker-compose.yml 文件:

version: '2'
services:
  rabbit:
    image: rabbitmq
    hostname: rabbit1
    ports:
       - 5672:5672
       - 15672:15672
  drafter:
    build: .
    depends_on: 
      - rabbit

我在这里得到的错误是:

Error registering task definition 
error=ClientException: Container.image should not be null or empty.
Create task definition failed 
error=ClientException: Container.image should not be null or empty.

我不确定任务定义是什么或者它需要什么。


据我了解,ecs-cli 对完整 Docker Compose 文件语法的支持非常有限。例如,您应该看到有关以下内容的警告:WARN[0000] Skipping unsupported YAML option for service... option name=build service name drafter

原因是您使用的 ecs-cli 版本期望所有服务都是映像。因此,drafter需要一个图像,您可以通过生成该图像docker build或传统的docker-compose调用(但随后您需要维护 compose 文件的两个版本 - 传统版本和 ecs 兼容版本。

注意:听起来他们可能会计划build未来的支持,至少根据我之前看到的一篇 github 评论(抱歉,已经关闭了选项卡,所以无法链接到它)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ecs-cli 在 AWS 上部署 docker 时遇到问题 的相关文章

随机推荐