SLES 12 and docker 1.13. credentials error

Hi all,

I recently upgraded my docker install to 1.13.0 on SLES 12. Since then, any docker operation fails with the following message:
docker -D run --name tmp hello-world
DEBU[0000] [hijack] End of stdout
docker: Error response from daemon: error creating secret: secret must not be a path.
ERRO[0000] error getting events from daemon: net/http: request canceled

I did try to remove and reinstall, but no luck so far.
I’m aware that 1.13 introduces secrets, but I fail to see what is causing the interaction here. Did I miss something obvious? Is there a no secret option?

Thank you


docker version
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7
Git commit: 78d1802
Built: Mon Mar 20 11:23:34 2017
OS/Arch: linux/amd64

Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7
Git commit: 78d1802
Built: Mon Mar 20 11:23:34 2017
OS/Arch: linux/amd64
Experimental: false

So it seems that on any container start, docker attempts to read and setup my credentials.d directory, then fails because it’s not a file.

Subsequent question would be, why is it even trying?

level=debug msg=“injecting secret” name=credentials.d path="/var/lib/docker/containers/7d9a2446ce549145cee0b219c9525559b2a6db657ea5c52c53012f7cc98eb24b/secrets/credentials.d"

I am having the same problem: SLES12 SP1, Docker upgraded to v 1.13 from 1.12.
curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-uname -s-uname -m> /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo docker-compose up
Results in
Removing redis
Removing mongo
Recreating 584542374cd4_584542374cd4_584542374cd4_redis
Recreating 026557b87d13_026557b87d13_026557b87d13_mongo

ERROR: for redis  Cannot start service redis: error creating secret: secret must not be a path

ERROR: for mongo  Cannot start service mongo: error creating secret: secret must not be a path
ERROR: Encountered errors while bringing up the project.

The docker-compose release is here: https://github.com/docker/compose/releases/tag/1.11.2

The only way I was able to work around this was to temporarily rename the /etc/zypp/credentials.d to something else. Otherwise docker 1.13 SLES systematically tries to copy that directory and fails. It looks like that build is not stable yet, I hit other problems afterwards.

Hi, did you get you docker 1.13 from software.opensuse.org or from somewhere else?

Hi. This is an error related to a patch that SUSE adds in order to add the host credentials as secrets into the container. This is done so, so that the container can get updates and patches by using the host credentials (if both are SUSE).

This has been reported here:

https://bugzilla.opensuse.org/show_bug.cgi?id=1030702

Please note that this error happens on a “development” package. It is not an official package.

I got it from the Virtualization repo: Virtualization:/containers/SLE_12, so the ongoing dev one.

Hi Jordi,

Thanks for the update. I figured that’s what happened and expected it would be unstable as an ongoing dev repo. I’m just bummed I couldn’t access the previous version to revert to.

Hi. You should be able to access the previous version in the containers module. You can register to that module either with YaST or with SUSEConnect. There you will find 1.12. If you were using openSUSE, 1.12 is in Leap (42.1 and 42.2) and 13.1 is in Tumbleweed.

Thanks for letting me know.