docker-image-resource icon indicating copy to clipboard operation
docker-image-resource copied to clipboard

support public.ecr.aws

Open gdamjan opened this issue 4 years ago • 3 comments

AWS has introduced public ECR registries, and when configured the url of the registry is public.ecr.aws. The same url is used for both push and pull.

docker-image-resource currently won't supply AWS credentials unless it matches the ECR regex https://github.com/concourse/docker-image-resource/blob/master/assets/out#L232

https://aws.amazon.com/about-aws/whats-new/2020/12/announcing-amazon-ecr-public-and-amazon-ecr-public-gallery/

gdamjan avatar Jan 22 '21 10:01 gdamjan

additionally, the command to get credentials from ECR into docker have changed

aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/<alias>
...
docker push public.ecr.aws/<alias>/<namespace>/<repository>

gdamjan avatar Jan 22 '21 10:01 gdamjan

Is there any development in this? Seems like pushing public image is not working:

WARN[0000] ECR integration is experimental and untested 
INFO[0002] pushing tag(s) latest
ERRO[0002] pushing image failed: pushing tag(s): POST https://********.dkr.ecr.*******.amazonaws.com/v2/********/blobs/uploads/: NAME_UNKNOWN: The repository with name '********' does not exist in the registry with id '********' 

vidolch avatar Nov 18 '21 15:11 vidolch

The [simplest/most-common?] use-case for public ECR instead of Docker Hub (subject to rate-limits):

...workloads running in AWS will get unlimited data bandwidth from any region when pulling publicly shared images hosted on AWS.
-AWS

If @gdamjan's sleuthing is correct, that RegEx constraint should definitely be relaxed in order for a simple pipeline (below) to work, rt? https://github.com/concourse/docker-image-resource/blob/273da71dd43b27748908897e516f016c52266fe1/assets/out#L232

simple pipeline
---
resources:
- name: node-image
  type: registry-image
  source:
    tag: lts-gallium
    repository: public.ecr.aws/docker/library/node
[...]

jobs:
- name: my-job
  plan:
    - task: use-node-image
      image: node-image
      config: [...]

eckdanny avatar Mar 27 '22 16:03 eckdanny