On 12/16/2019 3:32 AM, Arnaud Rebillout wrote:

Actually, what is weird is that docker tries to use the secret service backend, even though it's not instructed to do so.

From the documentation at https://docs.docker.com/engine/reference/commandline/login/#credentials-store

You need to specify the credentials store in |$HOME/.docker/config.json| to tell the docker engine to use it. The value of the config property should be the suffix of the program to use (i.e. everything after |docker-credential-|).

So installing golang-docker-credential-helpers shouldn't have any consequence, until you add `"credsStore": "secretservice"` to `~/.docker/config.json`.

But what I observe is different: from the moment the credential helpers are installed, docker tries to use it, and fails of course if there's no display.

Am I missing something here? Should we open a bug upstream regarding this behavior?

Absolutely, yes, you should, and please reference it in issue #105

Please fix the dependencies for this package.

https://github.com/docker/docker-credential-helpers/issues/105#issuecomment-561573736

In this thread, some users suggest to add `pass` as a dependency of the golang-docker-credential-helpers.

I'm not sure it will work, because if you look at the code in docker-cli, at cli/config/credentials/default_store_linux.go, you will see that docker gives preference to pass over libsecret. I'm afraid that if we do that, we break all existing users that rely on libsecret.

Well, unless docker behaved as documented, but apparently it's more complicated, so I'm a bit reluctant. Adding "Suggests: pass" would be fine though...

It would be wonderful if debian and docker devs could work together to fix this for real, because the upstream docker behavior is clearly broken regardless, and I was unable to convince docker devs otherwise.

Reply via email to