问题标签 [aws-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 投票
2 回答
2995 浏览

amazon-web-services - AWS CLI,列出我用标签指定的 ECR 图像

假设“foo”是存储库名称,我想调用具有两个标签“boo,boo-0011”的图像

此命令显示存储库中的所有图像:

aws ecr describe-images --repository-name foo --query "sort_by(imageDetails,& imagePushedAt)[ * ].imageTags[ * ]"

从这里我如何只grep带有标签“boo”的那个

0 投票
2 回答
1383 浏览

amazon-web-services - Docker 映像大小在 aws ecr 上更改

我刚刚将 docker 图像上传到 aws ecr。我在本地的实际 docker 映像为 927 MB,而在 ECR 上显示为 321 MB

在文档过程中我有什么遗漏的吗?

我上传的图片带有标签名称,但尺寸有变化

0 投票
0 回答
1556 浏览

docker - 无法从 Docker Build 中的 ECR 中提取

当我尝试使用 AWS CodeBuild 从 ECR 提取图像作为 Docker 构建的一部分时遇到了凭证问题。

对于上下文,我们的设置是这样的

Codebuild 正在调用我们编写的内部 docker 工具。然后,此工具正在执行 docker 构建。可以使这更容易理解的示例命令:

“ourtoolscript”只是一个设置一堆环境变量的bash脚本,最后用我们指定的命令调用docker run。

问题
我们正在尝试在此工具中进行 docker 构建。它可以在本地工作,它也可以与其他不从 ECR 提取图像进行构建的 repo 一起使用。
我们这样做是为了标记的所有逻辑和一切都是工具中的脚本,我们可以将其应用于每个 repo。所以说只在工具之外进行 docker build 是不可接受的解决方案。

如果 docker 文件从 ECR 中提取“FROM”,它将失败并显示:

我尝试过的事情

我所知道的

  • CodeBuild 提供的凭据可以很好地进入我们的工具。因为它可以毫无问题地推拉
  • 如果不是从 ECR 图像构建,我可以构建得很好
  • docker build 的 pull 与普通的“docker pull”的工作方式有所不同
  • 如果我只是做一个简单的“docker build”。在工具之外没有构建参数。它可以很好地提取图像。所以我认为我在这些变量上走错了路。

其他信息
我的 docker build 命令(删除了一些额外的东西):

0 投票
0 回答
23 浏览

java - 服务数量(端点)可以 Docker/AWS ECS 容器支持

我们有一个 docker 容器(256 个 CPU 单元和 1GB RAM),它运行大约 40 多个服务 - 基于 java 的应用程序(控制器端点)。在一个容器上运行会不会有任何问题,或者我们应该在每个容器上部署 10 个服务。这样我们就有 4 个容器,每个容器有 10 个服务。请在这里建议我最好的方法

还给我以下信息:

  1. 什么是没有。Docker/AWS ECS 容器可以支持的服务(端点)?
  2. 暴露端点是否有任何限制?
  3. 我们如何增加或减少它?
  4. 有没有办法检查no的状态。支持的端点?
0 投票
2 回答
8754 浏览

amazon-ecs - CodePipeline: ECR source + ECS deploy configuration

Basically, I need to configure CI/CD with bitbucket source code to ECS containers. I want to use CodePipline to deploy new ECR image to ECS.

Currently, there is no option in AWS CodePipline to specify bitbucket as the source. However, I've managed to configure CodeBuild with webhooks so it builds docker file and pushes it to ECR on every push to release branch.

I want to configure ECR as the "source" stage in CodePipline and deploy it to existing ECS cluster/service so deploy will be automated.

  • I specified "Amazon ECR" as action provider with "image_details" output artifact in source stage.
  • I specified "Amazon ECS" (not "Amazon ECS (Blue/Green)") as an action provider for deploy stage with "image_details" as input artifact

codepipeline_settings

Unfortunately, basic configuration and artifact chaining results if following error in the deploy step:

Though "Amazon ECR" stage provides imageDetail.json as an output artifact, it does not seem to be expected for "Amazon ECS" deploy provider. Is there any rational way to get around this issue?

I'm aware, that it is possible to configure CI/CD with bitbucket + API Gateway/Lambda + CodePipeline, I also consider using CodeCommit instead of bitbucket as the source repo - still, hope there is a possible elegant solution to use bitbucket with CodePipeline directly.

UPD: I've ended up with pretty nice configuration, described in this blogpost: the overall idea is to allow CodeBuild to upload source code from bitbucket to S3 and then use CodePipeline with S3 as a source to deploy new docker image to ECR and publish new task definition revision in ECS cluster. S3 is still overhead and I'm searching for a more elegant solution for the task.

0 投票
2 回答
5461 浏览

docker - 绕过 --password-stdin 警告(docker)

另一天,docker 的另一个问题。我有一个 Windows 服务器 2019,docker 版本 18.09.03,我想将我的图像获取到 ECR。

由于某些原因,我无法收到警告 docker : WARNING! 您的密码将未加密存储我的部署工具将其视为错误,因此不会部署。因此,我一直在寻找如何以“正确”方式使用 --password-stdin 。这不是很好。

这是我现在正在使用的 Powershell 脚本。

我将密码传递到一个文件中,然后从中输入标准输入,它可以工作,但它会返回警告。

我也尝试过该评论(https://github.com/aws/aws-cli/issues/2875#issuecomment-433565983),但它也不接受标志。我愿意

我现在完全开始生气和沮丧。任何帮助将不胜感激,谢谢!

0 投票
2 回答
483 浏览

amazon-web-services - 无法获取 ECR 泊坞窗图像

当我尝试从 ECR 中提取 docker 映像时,出现以下错误:

Docker 服务运行良好,我可以列出存储库。

0 投票
0 回答
396 浏览

amazon-web-services - 由于 3/4 节点上的 Docker i/o 超时,Nomad 作业挂起?

由于我想要的容器的 docker pull 正在达到 i/o 超时,因此我的工作问题最终处于一个永恒的待处理状态。我已经读过好几次关于更改 DNS 以解决此问题的文章,但它似乎有点做作,我不需要专用网络上的 pub google 地址......这nomad job ping-services.nomad是运行后的结果。

运行后可以看到只有3/4成功nomad alloc status 05468ff2

您可以清楚地看到问题在于 I/O 超时阻止我们拉入我们的层,所以,跳到节点上,让我们手动尝试一下……

坏节点(也就是那些无法拉取的节点)似乎发生了一些事情。注意似乎Docker Driver没有被检测到有问题?只需在坏节点上注意到这一点,检查节点事件......

下面的好节点....

游牧版本如下

0 投票
1 回答
320 浏览

amazon-elastic-beanstalk - Elastic Beanstalk 不会自动从 ECR 更新映像

我在 Dockerrun.aws.json 中有 "Update": "true",当我在 ECR 中更新图像时,它应该会自动更新 EC2 iontance 中的图像和容器。

但是当我在推送新图像后 ssh 进入实例时,我仍然看到容器和图像未更新。

[root@ip-10-20-60-125 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8e3bab8da13 258e7bc272bd "./graphhopper.sh we..." 8 days ago Up 8 days 8989/tcptender_mayer

[root@ip-10-20-60-125 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE aws_beanstalk/current-app latest 258e7bc272bd 8 天前 813MB openjdk 8-jdk b8d3f94869bb 6 周前 625MB

Dockerrun.aws.json 有这个

除了 update: "true" 之外还有其他设置吗?

如果我进行 eb 部署,它将拉取并更新。但是当我更新图像时,“更新”:“真”应该会自动拉取和更新,而这并没有发生。

0 投票
0 回答
77 浏览

amazon-web-services - 互联网网关后面的公共子网中的 EC2 无法连接到 ECR

概括:

我在 VPC 的公共子网中有一个 EC2,其路由表中有一个 Internet 网关。它基于路由表连接良好。但是,我现在正尝试联系 ECR,这会导致“无法连接到端点 URL”消息。

我试过的:

  1. 我尝试使用允许用户的访问密钥 ID 和秘密访问密钥连接到 ECR。这不起作用并导致“无法连接消息”

  2. 然后,我尝试使用默认安全组为 ecr.api 和 ecr.dkr 创建一个端点,并将其连接到 EC2 所在的子网。我意识到这个端点不是通常的网关类型的端点(S3 等),而是一个接口。无论如何,这也不起作用并导致类似的消息

代码: $(aws ecr get-login --no-include-email --region ap-south-1)

错误:

无法连接到端点 URL:“ https://api.ecr.ap-south-1.amazonaws.com/

有人可以指出我正确的方向吗?