# Docker registry layer metadata correct?

**URL:** <https://discuss.elastic.co/t/docker-registry-layer-metadata-correct/243655>\
**Category:** Elasticsearch\
**Tags:** docker\
**Created:** [August 4, 2020, 6:45am UTC](https://discuss.elastic.co/t/docker-registry-layer-metadata-correct/243655 "2020-08-04T06:45:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Just-Ross](https://avatars.discourse-cdn.com/v4/letter/j/f4b2a3/32.png) [@Just-Ross](https://discuss.elastic.co/u/Just-Ross)\
**Post date:** [August 4, 2020, 6:45am UTC](https://discuss.elastic.co/t/docker-registry-layer-metadata-correct/243655/1 "2020-08-04T06:45:56Z")

</div>

Can someone offer advice here please - when querying [docker.elastic.co](http://docker.elastic.co) for image layers (any 2+ schema) the results are totally different to a 3rd party registry for the identical image (e.g. AWS ECR):

- Authenticate to ECR
- Create empty ECR repo `elastic/beats/filebeat`
- Pull [`docker.elastic.co/beats/filebeat:7.8.1`](http://docker.elastic.co/beats/filebeat:7.8.1) to local system
- Tag image as `elastic/beats/filebeat:7.8.1`
- Push image to ECR
- Get API token for [elastic.co](http://elastic.co/): `$ token=$(curl -sSL 'https://docker-auth.elastic.co/auth?service=token-service&scope=repository:beats/filebeat:pull' |jq -r .token)`
- Query elastic for image layers:

```auto
$ curl -sSL --header 'Accept: application/vnd.docker.distribution.manifest.v2+json' --header "Authorization: Bearer $token" https://docker.elastic.co/v2/beats/filebeat/manifests/7.8.1 | jq .layers
[
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 85343635,
      "digest": "sha256:86dbb57a308363a145832950313a7a1dccb08353e1291ec557d823e18c16f45f"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 27361548,
      "digest": "sha256:1d91599c7521d9f5bb524c11ecb9c770478d8d26398e63b5a570c76fb2d8cc5f"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 33274248,
      "digest": "sha256:8535fd565fe3e35248202402b35b935772ba5f7f940689fca740b8f6b13a9f72"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 618,
      "digest": "sha256:42292adeddfc5e0d3ddf3d27cdd70c19ad1efef8f24569334e7891da90a818d3"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 611,
      "digest": "sha256:4675a5596b4ef5b0399f522a891c2f9c899c66549b7ef80652fc4513b377f9ba"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 605,
      "digest": "sha256:bb17c3ede2dd99ac63b8608652e5087178377b990065456fa3dcbee7cceb22e4"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 33275550,
      "digest": "sha256:7f5f84ea1a4930f33e29a8f3c0c35961d2324d510d75b1289e3f5cd163437615"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 1962,
      "digest": "sha256:606d43ad155a11a93c82074268521f4dc0960270be67ccecc0092f0f45b783aa"
    }
]

```

- Get API token for ECR: `$ token=$(aws ecr get-authorization-token | jq -r '.authorizationData[].authorizationToken')`
- Query ECR for image layers:

```auto
$ curl -sSL --header 'Accept: application/vnd.docker.distribution.manifest.v2+json' --header "Authorization: Basic $token" https://<your account>.dkr.ecr.<your region>.amazonaws.com/v2/elastic/beats/filebeat/manifests/7.8.1 | jq .layers
[
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 75880141,
      "digest": "sha256:524b0c1e57f8ee5fee01a1decba2f301c324a6513ca3551021264e3aa7341ebc"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 24427335,
      "digest": "sha256:d509963c312a7051b89331ae32a6d9a3cc940309b7f0758f3fe5d9935e44338a"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 28734007,
      "digest": "sha256:ec64c0fa2d174cc9f6e25fd6560ccfd7ee0578817a4167fff022426b24a3994f"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 597,
      "digest": "sha256:d377ed92b0f4ee1a952ca9d0d16bd3ab31e0d97afc623d416453027e282d47b9"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 594,
      "digest": "sha256:052656815b35af59a218b4faf2b649a3e8f367c86cc682af34549f4c3591d40e"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 562,
      "digest": "sha256:9f3a1d66b0d59051373b4cdb9d3e213e3ccebc466b14b92ed388916c1b065920"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 28734277,
      "digest": "sha256:c615388da0249b57080f8a6b1a27752e4ee9927afaf693204ef169d895cd83d3"
    },
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 1764,
      "digest": "sha256:16809b8e48b4c4c95c36b6ba3bf521016a83331eab3301335eced45319a6585c"
    }
]

```

- This is the case for v2.1 v2.2 or v2+ schema

So, who is correct?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 1, 2020, 6:46am UTC](https://discuss.elastic.co/t/docker-registry-layer-metadata-correct/243655/2 "2020-09-01T06:46:01Z")

</div>

Closed on September 1, 2020, 6:46am UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
