mal*_*ash 2 amazon-web-services docker aws-ecs
我拥有对 ECR 注册表的相关访问权限,但是我无法通过运行 Docker 检查命令来获取图像元数据。我正在尝试与
docker inspect ecrregistryurl/dockerimage:imageversion
Run Code Online (Sandbox Code Playgroud)
更新
如果您使用的是@muya_提到的最新版本,您可以使用
aws ecr get-login-password | docker login -u AWS --password-stdin https://account-id.dkr.ecr.eu-west-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
正如@Tarun 所提到的,我尝试了它,但它没有给我提供与 dockerspect 相同的输出。这是文档中的链接。 https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth_http
#!/bin/bash
TOKEN=$(aws ecr get-authorization-token --output text --query authorizationData[].authorizationToken)
curl -i -H "Authorization: Basic $TOKEN" https://account_id.dkr.ecr.us-west-2.amazonaws.com/v2/redis/manifests/latest
Run Code Online (Sandbox Code Playgroud)
但检查输出它与 dockerspect 不同。
Docker inspect image_name
Run Code Online (Sandbox Code Playgroud)
此命令将仅检查您的本地映像而不是您的注册表。
您可以采取哪些措施来仅获取提供 ECR 的相关元数据。
aws ecr list-images --repository-name redis
Run Code Online (Sandbox Code Playgroud)
它会给你一个图像标签和图像 ID。
aws ecr describe-images --repository-name redis
Run Code Online (Sandbox Code Playgroud)
这将提供此名为 redis 的存储库中的所有图像和更多详细信息。
现在,对于 docker 检查,首先拉取该图像。
aws ecr get-login --no-include-email
Run Code Online (Sandbox Code Playgroud)
运行该命令的输出。您将使用令牌进行登录。
docker pull account_id.dkr.ecr.us-west-2.amazonaws.com/redis:latest
然后运行
docker pull account_id.dkr.ecr.us-west-2.amazonaws.com/redis:latest
Run Code Online (Sandbox Code Playgroud)
您将会得到您正在寻找的东西。
或者,如果您已经在某个 ec2 实例上运行此映像,然后在该 ec2 实例上运行您将获得所需的结果。
docker inspect account_id.dkr.ecr.us-west-2.amazonaws.com/redis:latest
Run Code Online (Sandbox Code Playgroud)
https://docs.aws.amazon.com/cli/latest/reference/ecr/index.html
| 归档时间: |
|
| 查看次数: |
6159 次 |
| 最近记录: |