Closed
Description
Description
Trying to push an image to a conformant registry yields an error:
$ docker push localhost:8080/alpine/alpine:latest
The push refers to repository [localhost:8080/alpine/alpine]
78a822fe2a2d: Pushing [==================================================>] 7.327MB/7.327MB
error parsing HTTP 400 response body: invalid character 'c' looking for beginning of value: "content-type must be 'application/octet-stream' but is \"\""
The distribution spec mandates blob pushes to send a content-type: application/octet-stream
header when pushing blobs.
Reproduce
docker run -it --rm -p 8080:8080 ghcr.io/makkes/garage@sha256:07db64a5f721c4a99ba108e3fd62dd21a68ad1e0630eee7f5a8a3a58ef8f9e61
(this is an OCI-conformant registry)docker pull alpine@sha256:25fad2a32ad1f6f510e528448ae1ec69a28ef81916a004d3629874104f8a7f70
docker tag alpine@sha256:25fad2a32ad1f6f510e528448ae1ec69a28ef81916a004d3629874104f8a7f70 localhost:8080/alpine/alpine:latest
docker push localhost:8080/alpine/alpine:latest
Expected behavior
docker push
should successfully push the image.
docker version
Client:
Version: 24.0.2
API version: 1.43
Go version: go1.20.4
Git commit: cb74dfcd85
Built: Mon May 29 15:50:06 2023
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 24.0.2
API version: 1.43 (minimum version 1.12)
Go version: go1.20.4
Git commit: 659604f9ee
Built: Mon May 29 15:50:06 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.2
GitCommit: 0cae528dd6cb557f7201036e9f43420650207b58.m
runc:
Version: 1.1.7
GitCommit:
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Version: 24.0.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: 0.11.0
Path: /usr/lib/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: 2.20.0
Path: /usr/lib/docker/cli-plugins/docker-compose
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.1
Path: /home/max/.docker/cli-plugins/docker-sbom
Server:
Containers: 3
Running: 3
Paused: 0
Stopped: 0
Images: 28
Server Version: 24.0.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: true
Native Overlay Diff: false
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 0cae528dd6cb557f7201036e9f43420650207b58.m
runc version:
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.3.9-arch1-1
[... redacted ...]
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Additional Info
No response