-
Type:
Bug
-
Status: Open
-
Resolution: Unresolved
-
Affects Version/s: 6.17.0
-
Fix Version/s: None
-
Component/s: Docker
-
Labels:None
-
Severity:Critical
-
Requirement Status:
Alternative docker clients (e.g. buildkit, buildx) fail upon trying to push a docker image to Artifactory.
I can push the image to DockerHub successfully, but not Artifactory's Docker registry, although normal docker push is successful on both registries. So, I tried to capture the network requests, and realized that there's a small difference between the way docker push and docker buildx build --push push the image layers.
Apparently, docker push does a sequence of POST, PATCH, and PUT (with no body), while docker buildx build --push does a POST followed by a PUT (with body). The latter PUT results in a 404 BLOB_UNKNOWN on Artifactory.
Since this is explicitly accepted in Docker registry API (See: Monolithic Upload section at https://docs.docker.com/registry/spec/api/#monolithic-upload) I assume this needs to be fixed in Artifactory rather than those clients.