标签: amazon-ecs

docker登录未知速记标志:'e'

我刚刚更新了我的docker版本并找到了该命令

aws ecr get-login
Run Code Online (Sandbox Code Playgroud)

不再工作了.得到错误:

未知的速记标志:'e'在-e`中.似乎docker不再支持-e标志了.

有没有办法来解决这个问题?

已安装的版本:

aws-cli/1.11.111 Python/2.7.10 Darwin/16.6.0 botocore/1.5.74

Docker version 17.06.0-ce-rc5, build b7e4173
Run Code Online (Sandbox Code Playgroud)

amazon-ecs docker

116
推荐指数
3
解决办法
2万
查看次数

运行任务时出现AWS ECS错误:在群集中未找到任何容器实例

我试图将docker容器映像部署到AWS使用ECS,但是没有创建EC2实例.我已经浏览了互联网,寻找解释为什么我收到以下错误:

"调用RunTask操作时发生客户端错误(InvalidParameterException):在群集中找不到容器实例."

这是我的步骤:

1.将Docker镜像从Ubuntu推送到我的Amazon ECS仓库.

2.注册ECS任务定义:

aws ecs register-task-definition --cli-input-json file://path/to/my-task.json 
Run Code Online (Sandbox Code Playgroud)

3.完成任务:

aws ecs run-task --task-definition my-task
Run Code Online (Sandbox Code Playgroud)

然而,它失败了.

这是我的任务:

{
  "family": "my-task",
  "containerDefinitions": [
    {
        "environment": [],
        "name": "my-container",
        "image": "my-namespace/my-image",
        "cpu": 10,
        "memory": 500,
        "portMappings": [
            {
                "containerPort": 8080,
                "hostPort": 80
            }
        ],
        "entryPoint": [
            "java",
            "-jar",
            "my-jar.jar"
        ],
        "essential": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我也尝试使用管理控制台来配置集群和服务,但我得到了同样的错误.如何配置群集以具有ec2实例,以及需要使用哪种容器实例?我认为整个过程是创建EC2实例开始!!

amazon-web-services amazon-ecs docker aws-cli

97
推荐指数
5
解决办法
5万
查看次数

Amazon ECS和Amazon EC2有什么区别?

我刚刚开始使用AWS EC2,我知道EC2就像一台远程计算机,我几乎可以做任何我想做的事情.然后我找到了ECS,我知道它使用的是docker,但却被这两者之间的关系搞糊涂了.

ECS只是EC2中的docker安装吗?如果我已经有EC2,那么我启动一个ECS,这是否意味着我有两个实例?

amazon-ec2 amazon-web-services amazon-ecs

90
推荐指数
6
解决办法
5万
查看次数

AWS ECS - 任务和服务之间有什么区别?

似乎可以基于任务定义运行任务或服务.任务和服务之间有什么区别和相似之处?是否有一个线索,即在创建任务而不是服务时可以指定"任务组"?任务和服务的层次结构是否与任务定义的实例相同,还是由任务组成的服务?

谢谢.

amazon-web-services amazon-ecs

89
推荐指数
3
解决办法
2万
查看次数

如何将更新的Docker镜像部署到Amazon ECS任务?

一旦所述图像在相应的注册表中更新后,使我的Amazon ECS任务更新其Docker镜像的正确方法是什么?

amazon-ecs docker docker-registry

78
推荐指数
7
解决办法
4万
查看次数

我应该使用AWS Elastic Beanstalk还是Amazon EC2容器服务(ECS)来扩展Docker容器?

我开发了一个基于Docker的应用程序,它由多个微服务组成.它必须使用Amazon SQS消息并处理它们.起初我想使用AWS Elastic Beanstalk,但后来我忽略了EC2容器服务.现在我不知道选择哪一个.

截至目前,Elastic Beanstalk支持多容器环境.这很好,因为每个微服务在docker容器中都有自己的应用程序服务器.下一个问题是缩放:

我不知道缩放机制是如何工作的.例如:我的Elastic Beanstalk环境中有5个docker容器.现在只有第五个docker容器处于高负载状态,因为它有大量的SQS消息需要处理,其他四个几乎都处于空闲状态,因为它们不需要太多的CPU或者可能没有大量的SQS消息.我们假设第5个容器运行JBoss应用程序服务器.据我所知,即使有足够的CPU /内存,服务器也只能消耗有限数量的并行请求.

如果JBoss Docker容器无法处理大量请求,但有足够的CPU /内存可用,当然我想在同一个实例上自动启动第二个Docker/JBoss容器.但是,如果我没有足够的CPU /内存,会发生什么?当然我想转向第二个实例,可以通过EB中的自动缩放组进行配置.现在第二个实例旋转了,但除了第5个以外的每个容器几乎都是空闲的,当然我不希望它们在第二个实例中产生4个不必要的容器,这将浪费资源.只有第5个应该产生,其他应该像第5个比例那样根据可配置参数进行扩展,例如:CPU /内存/ SQS.

我不确切知道Amazon ECS是否正在这样做,或者它是否可能,但我真的无法在互联网上找到关于这个主题的任何来源,一般来说,基于实例/容器进行扩展.

jboss amazon-web-services amazon-ecs docker amazon-elastic-beanstalk

71
推荐指数
2
解决办法
2万
查看次数

验证错误堆栈:arn aws cloudformation 堆栈处于 ROLLBACK_COMPLETE 状态且无法更新

当我使用 cloudformation 进行部署时 aws cloudformation deploy --region $region --stack-name ABC

有错误:

调用 CreateChangeSet 操作时出现错误(ValidationError):Stack:arn:aws:cloudformation:stack/service/7e1d8c70-d60f-11e9-9728-0a4501e4ce4c 处于 ROLLBACK_COMPLETE 状态,无法更新。

请帮我 !

amazon-web-services amazon-ecs aws-cloudformation

65
推荐指数
2
解决办法
4万
查看次数

Aws ecs fargate ResourceInitializationError:无法提取机密或注册表身份验证

我正在尝试在 aws-ecs-fargate-1.4.0 平台上运行一个私有存储库。

对于私有存储库身份验证,我遵循了文档并且运行良好。

以某种方式更新现有服务多次后,它无法运行任务并抱怨错误,例如

ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to get registry auth from asm: service call has been retried 1 time(s): asm fetching secret from the service for <secretname>: RequestError: ...
Run Code Online (Sandbox Code Playgroud)

我没有更改它ecsTaskExecutionRole,它包含获取秘密值所需的所有策略。

  1. AmazonECSTaskExecutionRolePolicy
  2. CloudWatch 完全访问
  3. AmazonECSTaskExecutionRolePolicy
  4. 获取秘密值
  5. 获取SSMParamters

amazon-web-services amazon-ecs docker-registry aws-fargate

61
推荐指数
13
解决办法
4万
查看次数

如何在API后端验证来自AWS Cognito的JWT?

我正在构建一个由Angular2单页面应用程序和在ECS上运行的REST API组成的系统.API在.Net/Nancy上运行,但这可能会发生变化.

我想尝试一下Cognito,这就是我想象的身份验证工作流程:

  1. SPA登录用户并收到JWT
  2. SPA会在每次请求时将JWT发送到REST API
  3. REST API验证JWT是否可信

我的问题是关于第3步.我的服务器(或者更确切地说:我的无状态,自动扩展,负载平衡的Docker容器)如何验证令牌是否可信?由于"服务器"还没有出台的智威汤逊本身,它不能使用自己的秘密(如在基本JWT例如描述这里).

我已经阅读了Cognito文档并搜索过很多内容,但是我找不到任何关于如何在服务器端使用JWT的好指南.

authentication amazon-ec2 amazon-ecs jwt amazon-cognito

60
推荐指数
7
解决办法
3万
查看次数

在AWS ECS中的任务定义之间链接容器?

我正在尝试在AWS ECS中设置一个具有关联数据库的基本Web应用程序.在本地我将这些设置放在不同的容器中,在ECS上,我希望有单独的任务定义,以便我可以单独扩展它们.

  1. david_mongodb在ECS中成功注册了我的第一个任务定义.它有一个名为的容器david_mongodb.
  2. 然后我尝试将我的第二个任务定义注册为david_web,其中有一个名为david_web链接数据库的容器david_mongodb:db.
  3. 单击"创建"时,会返回错误:

    Unable to create Task Definition
    Linked container 'david_mongodb:db' doesn't exist.
    
    Run Code Online (Sandbox Code Playgroud)

似乎任务定义无法在其他任务定义中看到容器名称?我正在考虑将两个容器david_webdavid_mongodb容器放在同一个任务定义中会起作用,但我不想这样做:它会阻止我单独扩展Web应用程序或数据库.这个概述似乎证实我的架构是推荐的......

那么如何链接生活在不同任务定义中的容器?还是有另一种聪明的方法来处理这个问题?

amazon-web-services amazon-ecs docker

50
推荐指数
1
解决办法
3万
查看次数