Open /etc/docker/certs.d/ permission denied

When building a multi-arch image, the CI job for inlets is pushing each individual image, but failing on the manifest push.

This does work on the Docker Hub, but seems to fail for GHCR:

docker manifest create --amend
open /etc/docker/certs.d/ permission denied
Makefile:61: recipe for target 'manifest-ghcr' failed

Sources: - see Makefile and .travis.yml (I can’t include the links, the forum won’t let me)

There was an old issue back in Moby with a similar error with Docker 18.x, so I’ve upgraded to the latest 19.x in Travis, and it still had no effect.

Are manifests supported with GHCR?

Here are two screenshots to show the differences between the Docker Hub and GHCR with regards to the manifests

The erroring example (again, I can’t upload two screenshots)

I’m using buildx in Actions and I’m not seeing this error. I’ll give it a try to use the same manifest create as you have here.

This worked for me on my machine… I’m not sure what’s going on with the error you’re seeing unless this is one of those things where the docker daemon needs to be restarted.

export Version=2.7.5
for Arch in arm64 amd64 armhf; do 
  docker pull inlets/inlets:${Version}-${Arch} 
  docker tag inlets/inlets:${Version}-${Arch}$USER/inlets:${Version}-${Arch}
  docker push$USER/inlets:${Version}-${Arch}

docker pull inlets/inlets:${Version}
docker tag inlets/inlets:${Version}$USER/inlets:${Version}
docker push$USER/inlets:${Version}

docker manifest create --amend$USER/inlets:${Version}$USER/inlets:${Version}-amd64$USER/inlets:${Version}-arm64$USER/inlets:${Version}-armhf

Created manifest list

Which created this:

docker --version
Docker version 19.03.12, build 48a66213fe

It seems like we both have the same version of Docker, however the Travis build fails on every build, without fail.

 Version:           19.03.12

I don’t know if I could push from my local machine (I probably can, given your output)

I wasn’t about to find much information on Google or the issue tracker on the error:
open /etc/docker/certs.d/ permission denied
Makefile:61: recipe for target 'manifest-ghcr' failed
make: *** [manifest-ghcr] Error 1

The message about certs.d smells like Docker may not think that is a valid TLS certificate, and that it needs to dig up some self-signed cert.

I’m trying to isolate the issue here:

Seems related -

:man_facepalming: <- this wasn’t required for the Docker Hub.

1 Like