I’m running Docker Desktop v4.66.0 on an m1. I’m trying to pull an image which I know only publishes an amd64 image. I’m using Apple Virtualization Framework option, with Rosetta enabled.
This has worked fine in the past: docker just pulls the amd64 image and runs it with emulation.
But now I’m getting this error:
no matching manifest for linux/arm64/v8 in the manifest list entries: no match for platform in manifest: not found
It looks like what has changed is that the image’s manifests are now published as application/vnd.oci.image.manifest.v1+json. They used to be published as application/vnd.docker.distribution.manifest.v2+json
I can still pull the old images that use application/vnd.docker.distribution.manifest.v2+json. The new OCI image manifests result in that error.
Is this expected? I don’t think our publish scripts have change: I suspect the version of docker used in our CI pipeline was upgraded, and is now defaulting to the OCI format. I can work around this by explicitly passing --platform linux/amd64 to commands that pull or run that image, but is it correct that the automatic falling back to amd64 doesn’t work anymore? Thanks.