问题标签 [amazon-ecr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
50478 浏览

amazon-web-services - AWS ECR 获取授权令牌

我已尝试按照 AWS 说明为我的用户设置 ECR 授权,将AmazonEC2ContainerRegistryFullAccess策略提供给我的用户。

但是,当我尝试在我的 PC 上运行时,aws ecr get-login我收到一个我没有权限的错误。

我做错了什么?

0 投票
6 回答
17486 浏览

amazon-web-services - 如何从 AWS ECR Container Registry 中删除未标记的图像

将映像推送到 Amazon ECR 时,如果存储库中已存在标签,则旧映像仍保留在注册表中,但处于未标记状态。

因此,如果我第二次使用 docker pushimage/haha:1.0.0执行此操作(前提是发生了变化),则第一个图像会从AWS ECR.

有没有办法从未标记的图像中安全地清理所有注册表?

0 投票
1 回答
254 浏览

amazon-web-services - 在 AWS ECS 上滚动部署 Play Framework webapp

我想在 AWS ECS 上部署一个 Play Web 应用程序。我创建了一个包含 2 个运行 Web 服务的 EC2 实例的集群。每个实例都运行一个任务。集群由 AWS ELB 进行负载平衡。

将新的 docker 映像推送到存储库后,我创建了任务定义的新修订版,其中包括标记为latest. 当我更新服务以使用新的任务定义时,所有 EC2 实例都会立即更新它们的任务。即使我有 2 个 EC2 实例,我也会遇到停机时间,因为 AWS 会同时更新所有实例,而不是以滚动部署的方式一个接一个地更新一个实例。

我尝试在每个 EC2 实例上启动多个任务,但这显然是不可能的,因为每个任务都需要 Play 的默认端口 9000,并且我在服务的事件选项卡中收到“端口已在使用”错误消息。

我可以想到两种可能的解决方案:

  • 每个任务实例都使用动态端口而不是默认端口。(如何配置负载均衡器以“搜索”动态端口?)
  • 创建两个单独的 ECR 集群,将它们都放在一个负载均衡器目标组中,并在第一个集群完成更新后手动更改第二个集群的任务定义。(如何实现自动化 - 或者完全可以自动化?)

这些解决方案之一是可行的方法,还是有任何其他解决方案或此方案的最佳实践?

0 投票
1 回答
783 浏览

docker - 如何更新在 Amazon ECS 上运行的 docker 容器

我对 Amazon ECS 很陌生,我已经用 3 个容器编写了一个任务定义。一个用于我的 php 应用程序(主服务器),第二个用于节点应用程序(pubsub-server)和一个 redis 容器。

main-serverpubsub-server链接到redis容器。(这是安排容器的最佳方式吗?)

集群运行良好。但是,我有一个更新要在我的main-server. 我能够将更新后的映像推送到 Amazon ECR,但我的更改不会反映在集群上。是否有任何额外的步骤可以在推送时运行更新的容器?

我已尝试取消注册任务并重新激活它们。但这似乎不起作用。

如果我需要提供更多详细信息,请告诉我。

0 投票
1 回答
1248 浏览

amazon-web-services - AWS ECS firstRun 未显示 EC2 实例

我在这里完成了firstRun步骤(需要 AWS 登录)。

我已将 docker 映像上传到 ECR,集群成功启动,所有步骤都成功(ECS 状态 - 4 个完成EC2 实例状态 - 14 个完成 14 个)。

尽管它正在运行,但没有附加到集群的实例(参见屏幕截图)。我究竟做错了什么?

ECR 集群实例 EC2 集群实例

0 投票
1 回答
1236 浏览

amazon-web-services - 限制对 ECR 中命名空间的访问

我想将 EC2 实例限制为具有相同命名空间的 EC2 容器注册表 (ECR) 存储库。

IAM 实例角色只能拉取AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/test-namespace/.... 没有其他的。

我在 EC2 实例角色上尝试了以下 IAM 策略:

但是我能够docker pull从该实例的所有存储库中获取图像。例如AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/test-repo:latest

我看不出我做错了什么。不能是资源级权限。上述所有动作都支持它们,除了ecr:GetAuthorizationToken.

由于我们有很多存储库,我不想在每个存储库上设置资源权限。

0 投票
1 回答
451 浏览

docker - Docker Pull 通过 Ansible 花费了意外的长时间

这是我的设置:

我有一个 Master,我的剧本正在运行,worker[count = 3] 我的剧本正在运行,我有一个特定的docker pull命令要执行。

该命令[通过 Ansible] 需要 6 分钟来执行,而在 shell 中手动完成相同的命令需要大约 1 分钟。[两者都在相同的实例类型和配置中进行了测试。]

另一个有趣的观察是:如果在 localhost (主服务器)中通过 Ansible 运行相同的命令,则只需 1 分钟。

为什么会这样?为什么在工人中完成拉动需要很长时间?

PS:从 AWS ECR 注册表中提取。

0 投票
2 回答
5277 浏览

jenkins - Jenkins Amazon ECR:没有基本的身份验证凭证

我无法使用 Jenkins Pipeline 将 ocker 图像推送到 Amazon ECR:我总是得到no basic auth credentials:-(

这是我的设置:

  • 詹金斯 2.46.2
  • 亚马逊 ECR 插件 1.4
  • 我已将 AWS 凭证添加aws-jenkins到 Jenkins(在本地测试并成功推送到 AWS ECR)
  • 我已经打印/root/.dockercfg在我的调试身份验证Jenkinsfile

詹金斯文件:

日志:

有任何想法吗?

更新(2017-05-23):
这是 Jira 问题: https ://issues.jenkins-ci.org/browse/JENKINS-44143

0 投票
2 回答
2549 浏览

amazon-web-services - Jenkins Amazon ECR 插件登录问题“授权令牌已过期”

我已按照 Amazon ECR 插件(https://wiki.jenkins-ci.org/display/JENKINS/Amazon+ECR上的说明进行操作,它只是指示用户安装 Amazon ECR 并配置 Docker Build & Deploy 插件) ,但 Jenkins 无法通过 ECR 进行身份验证。

产生的错误信息是:

非常感谢任何人可以提供的任何建议。

0 投票
3 回答
20744 浏览

amazon-web-services - How to login with AWS CLI using credentials profiles

I want to setup multiple AWS profiles so that I can easily change settings and credentials when jumping between projects.

I've read the AWS documentation but it's quite vague about how to select what profile you want to use when logging in.

When I'm trying to login it's just giving me this error which seems to indicate that it's not picking up any credentials.

An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security token included in the request is invalid.