docker / docker/buildx

buildx imagetools issue with gitlab registries

Open
#3,625 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status/triage
Dominant language
Go
Stars
4.5k
Forks
682
Avg merge
2d 14h
Merged PRs (30d)
29

Description

Contributing guidelines
I've found a bug and checked that ...
  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem
Description

I am getting an error in docker:29 images when doing

docker buildx imagetools create
unknown: Schema 2 manifest not supported by client

This does not happen in docker:28

Expected behaviour

I would expect to not get this schema 2 error.
It didn't happen for me with local docker so I don't know what exactly is going on with docker buildx that has been included in the docker base images.

Actual behaviour

Problem:

With the docker:28 based image I can do this

 docker run -it --entrypoint sh docker:28
docker buildx version
github.com/docker/buildx v0.29.1 a32761aeb3debd39be1eca514af3693af0db334b
/usr/local/bin/docker-entrypoint.sh sh

docker login registry.gitlab.com/registry/myregistry -u username
password

docker buildx imagetools create "docker.elastic.co/elasticsearch/elasticsearch:8.18.8" --tag registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8

If I switch the image from docker:28 to docker:29

docker buildx version

/usr/local/bin/docker-entrypoint.sh sh

docker login registry.gitlab.com/registry/myregistry -u username
password

github.com/docker/buildx v0.30.1 9e66234aa13328a5e75b75aa5574e1ca6d6d9c01

docker buildx imagetools create "docker.elastic.co/elasticsearch/elasticsearch:8.18.8" --tag registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8
[+] Building 2.3s (1/1) FINISHED                                                                                                                                                                                 
 => ERROR [internal] pushing registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8                                                                                            2.3s
------                                                                                                                                                                                                           
 > [internal] pushing registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8:                                                                                                       
0.000 copying sha256:24650e8f5783f04b1859c6e32d11ddbf5daa84e4ce491ccf92fac848f251f37a from docker.elastic.co/elasticsearch/elasticsearch:8.18.8 to registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8                                                                                                                                                                                            
0.000 copying sha256:ce62ac650a4ebe653b0fb41f20cfd5f80a7ae188560ad709947b272d73150ba8 from docker.elastic.co/elasticsearch/elasticsearch:8.18.8 to registry.gitlab.com/registry/myregistry/elasticsearch:8.18.8
------
ERROR: unexpected status from GET request to https://docker.elastic.co/v2/elasticsearch/elasticsearch/manifests/sha256-d413f19aaeec97c924161c405f12a2c907552c640d7239766f05b17ea94382f1: 400 Bad Request
unknown: Schema 2 manifest not supported by client
Buildx version

github.com/docker/buildx v0.30.1 9e66234aa13328a5e75b75aa5574e1ca6d6d9c01

Docker info
docker info
Client:
 Version:    29.1.5
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.30.1
    Path:     /usr/local/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v5.0.1
    Path:     /usr/local/libexec/docker/cli-plugins/docker-compose
Builders list
docker buildx ls
NAME/NODE   DRIVER/ENDPOINT   STATUS    BUILDKIT   PLATFORMS
default*                      error
Configuration

docker run -it --entrypoint sh docker:29

its in the public image

Build logs

Additional info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the docker buildx imagetools create entry point and reproduce the command against the Docker 28 and Docker 29 images, comparing buildx v0.29.1 and v0.30.1. Trace the manifest request that returns the schema error; done means the same Elasticsearch image can be copied to the GitLab registry without the schema 2 failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, gitlab, go
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.