diff options
author | Tonis Tiigi <tonistiigi@gmail.com> | 2021-05-11 14:19:57 -0700 |
---|---|---|
committer | Sebastiaan van Stijn <github@gone.nl> | 2021-05-17 14:58:16 +0200 |
commit | 94c1890d3997cad133e50f0899677f4966078951 (patch) | |
tree | efadbab41798186b826745330f1c98a9f49d1289 /builder | |
parent | e4b9915803c59f3a761c67dd46c606a4f3e3a98f (diff) | |
download | docker-94c1890d3997cad133e50f0899677f4966078951.tar.gz |
builder-next: relax second cache key requirements for schema1
Schema1 images can not have a config based cache key
before the layers are pulled. Avoid validation and reuse
manifest digest as a second key.
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 85167fc63409524fa870bf9bafd7193f08a6d8ed)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Diffstat (limited to 'builder')
-rw-r--r-- | builder/builder-next/adapters/containerimage/pull.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/builder/builder-next/adapters/containerimage/pull.go b/builder/builder-next/adapters/containerimage/pull.go index 8bd9b92c4a..6b791f1064 100644 --- a/builder/builder-next/adapters/containerimage/pull.go +++ b/builder/builder-next/adapters/containerimage/pull.go @@ -333,12 +333,12 @@ func (p *puller) CacheKey(ctx context.Context, g session.Group, index int) (stri return dgst.String(), nil, false, nil } - if len(p.config) == 0 { + if len(p.config) == 0 && p.desc.MediaType != images.MediaTypeDockerSchema1Manifest { return "", nil, false, errors.Errorf("invalid empty config file resolved for %s", p.src.Reference.String()) } k := cacheKeyFromConfig(p.config).String() - if k == "" { + if k == "" || p.desc.MediaType == images.MediaTypeDockerSchema1Manifest { dgst, err := p.mainManifestKey(p.platform) if err != nil { return "", nil, false, err |