gpt4 book ai didi

concourse - 从 ECR 获取 Concourse Docker 资源

转载 作者:行者123 更新时间:2023-12-02 02:58:39 27 4
gpt4 key购买 nike

我正在尝试使用存储在 AWS EC2 容器服务存储库 (ECR) 中的 Docker 资源。配置看起来像:

- name: my-docker-resource
type: docker-image
source:
repository: account-id.dkr.ecr.eu-west-1.amazonaws.com/my-repo
tag: d196e5688d
aws_access_key_id: ((docker-aws-access-key-id))
aws_secrey_access_key: ((docker-aws-secret-access-key))

当我运行对该资源执行 get 操作的管道时,我看到“没有可用的版本”。

我尝试验证我正在使用的凭据是否允许访问存储库:

$(aws ecr get-login --no-include-email --profile concourse)
You must specify a region. You can also configure your region by running "aws configure".

那么问题 1:如何告诉资源使用哪个区域?它是从 repo URL 猜测的吗?提供区域似乎表明凭据具有足够的权限:

$(aws ecr get-login --no-include-email --profile concourse --region eu-west-1)
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

然后我尝试提取 repo 协议(protocol)。在我的机器上工作 (tm)。管道仍然说“没有可用的版本”。

我在某处读到自定义存储库需要明确说明端口,所以我也尝试了 account-id.dkr.ecr.eu-west-1.amazonaws.com:5000,但没有有用。在标签中使用它在本地也根本不起作用。

有什么建议吗?

最佳答案

弹出两件事:

  • concourse docker 图像资源经历了许多变化,一些版本不能与 ECR 一起工作。与您的大厅捆绑在一起的 docker-image 版本可能已过时。您可以通过声明自定义资源类型来引用最新版本:

resource_types:
# Override the built-in <code>docker-image</code> to get a recent version
- name: latest-docker-image
type: docker-image
source:
repository: concourse/docker-image-resource
tag: latest
resources:
- name: my-docker-resource
type: latest-docker-image

  • 端口是必需的,通常是 443。试试:

- name: my-docker-resource
type: docker-image
source:
repository: account-id.dkr.ecr.eu-west-1.amazonaws.com:443/my-repo
tag: d196e5688d
aws_access_key_id: ((docker-aws-access-key-id))
aws_secrey_access_key: ((docker-aws-secret-access-key))

关于concourse - 从 ECR 获取 Concourse Docker 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47829555/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com