Cli: docker manifest create returns 'no such manifest'

Created on 18 Mar 2020  路  5Comments  路  Source: docker/cli

Description
docker manifest create returns 'no such manifest'

Steps to reproduce the issue:

  1. build docker multiple docker images
  2. create a docker manifest with created docker images
  3. error

Describe the results you received:

no such manifest: 192.168.5.223:5000/authserver-amd64:v0.0.1

Describe the results you expected:
As described by the docs, to be able to push this manifest to a docker registry and use the multiarch image

Additional information you deem important (e.g. issue happens only occasionally):

Output of docker version:

Client:
 Version:           19.03.7-ce
 API version:       1.40
 Go version:        go1.14
 Git commit:        7141c199a2
 Built:             Fri Mar  6 12:42:12 2020
 OS/Arch:           linux/amd64
 Experimental:      true

Server:
 Engine:
  Version:          19.03.7-ce
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.14
  Git commit:       7141c199a2
  Built:            Fri Mar  6 12:41:47 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.3.3.m
  GitCommit:        d76c121f76a5fc8a462dc64594aea72fe18e1178.m
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Output of docker info:

Client:
 Debug Mode: false

Server:
 Containers: 2
  Running: 0
  Paused: 0
  Stopped: 2
 Images: 98
 Server Version: 19.03.7-ce
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 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: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d76c121f76a5fc8a462dc64594aea72fe18e1178.m
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.5.8-1-MANJARO
 Operating System: Manjaro Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 15.65GiB
 Name: pc
 ID: TG4H:YFRI:Q74H:LFVA:FALY:IFXO:GU2R:HYMC:YVVN:ZZME:4YWY:3PDN
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  192.168.5.223:5000
  127.0.0.0/8
 Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):

aredistribution kinexperimental

Most helpful comment

Is there any fix for this? I ran into the same issue when trying to create a manifest, on my local machine, as well as on GitHub workflows: https://github.com/MarcusWichelmann/PrometheusSolarExporter/runs/606703836

My script:

docker tag image:amd64 $IMAGE_ID:$BRANCH_OR_TAG-amd64
docker tag image:arm32v7 $IMAGE_ID:$BRANCH_OR_TAG-arm32v7
docker tag image:arm64v8 $IMAGE_ID:$BRANCH_OR_TAG-arm64v8

docker push $IMAGE_ID:$BRANCH_OR_TAG-amd64
docker push $IMAGE_ID:$BRANCH_OR_TAG-arm32v7
docker push $IMAGE_ID:$BRANCH_OR_TAG-arm64v8

docker manifest create $IMAGE_ID:$BRANCH_OR_TAG $IMAGE_ID:$BRANCH_OR_TAG-amd64 $IMAGE_ID:$BRANCH_OR_TAG-arm32v7 $IMAGE_ID:$BRANCH_OR_TAG-arm64v8
 --> no such manifest

All 5 comments

Is there any fix for this? I ran into the same issue when trying to create a manifest, on my local machine, as well as on GitHub workflows: https://github.com/MarcusWichelmann/PrometheusSolarExporter/runs/606703836

My script:

docker tag image:amd64 $IMAGE_ID:$BRANCH_OR_TAG-amd64
docker tag image:arm32v7 $IMAGE_ID:$BRANCH_OR_TAG-arm32v7
docker tag image:arm64v8 $IMAGE_ID:$BRANCH_OR_TAG-arm64v8

docker push $IMAGE_ID:$BRANCH_OR_TAG-amd64
docker push $IMAGE_ID:$BRANCH_OR_TAG-arm32v7
docker push $IMAGE_ID:$BRANCH_OR_TAG-arm64v8

docker manifest create $IMAGE_ID:$BRANCH_OR_TAG $IMAGE_ID:$BRANCH_OR_TAG-amd64 $IMAGE_ID:$BRANCH_OR_TAG-arm32v7 $IMAGE_ID:$BRANCH_OR_TAG-arm64v8
 --> no such manifest

To help anyone who's having this issue with an 'insecure' registry: adding the --insecure flag to my create command resolved this for me.

A quick look at the source indicates that the error messages that are actually helpful in this case are hidden behind debug logging.

@adamsteinbok Thanks for the help, it looks like you do need to add --insecure flag when creating manifest on a insecure registry.

I had added

{
  "insecure-registries": ["registry_ip:port"]
}

in /etc/docker/daemon.json and ~/.docker/config.json; assuming it would trickle down to all commands.

however, now I am getting this:

$ docker manifest push --insecure 192.168.5.3:31000/authservice                                                                       
failed to configure transport: error pinging v2 registry: Get "https://192.168.5.3:31000/v2/": http: server gave HTTP response to HTTPS client

As far as I can tell, you need both the 'insecure-registries' entry in the daemon.json AND the --insecure flag on the client command.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

thaJeztah picture thaJeztah  路  3Comments

thaJeztah picture thaJeztah  路  5Comments

bryanhuntesl picture bryanhuntesl  路  3Comments

and800 picture and800  路  3Comments

loeffel-io picture loeffel-io  路  4Comments