docker / docker/docker-credential-helpers
docker-credential-helpers support for docker-compose
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 1.3k
- Forks
- 195
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Description
Thank you for putting together the credential helper. It works fine on my ubuntu workstation.
I wanted to use docker-compose to access images with login.
Inside docker-compose docker tries to download the configured images. It tries to use the credential-service but that fails, because credential-service is not installed inside docker-compose.
I tried to install docker-credential-service inside of docker-compose and it resulted in the errors below. But maybe that was a wrong path. Inside docker-compose we do not have access to the passwords that are needed for docker-credential-service to work.
Maybe we need another solution to this.
I really do not feel well with my docker password just base64 encoded laying on my machine.
Greetings,
Jörg Pfründer
I have put together this Dockerfile:
FROM docker/compose:1.23.0
RUN apk add libsecret
COPY docker-credential-secretservice /opt/docker-credential-secretservice
ENV PATH="/opt:${PATH}"
RUN docker-credential-secretservice
It always says:
docker-credential-secretservice: error while loading shared libraries: libsecret-1.so.0: cannot open shared object file: No such file or directory
I wanted to debug the image a bit . docker/compose has added an entrypoint so I have put put together the mother image (as far as I have understood):
FROM alpine:3.8
ENV GLIBC 2.28-r0
RUN apk update && apk add --no-cache openssl ca-certificates curl libgcc && \
curl -fsSL -o /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
curl -fsSL -o glibc-$GLIBC.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/$GLIBC/glibc-$GLIBC.apk && \
apk add --no-cache glibc-$GLIBC.apk && \
ln -s /lib/libz.so.1 /usr/glibc-compat/lib/ && \
ln -s /lib/libc.musl-x86_64.so.1 /usr/glibc-compat/lib && \
ln -s /usr/lib/libgcc_s.so.1 /usr/glibc-compat/lib && \
rm /etc/apk/keys/sgerrand.rsa.pub glibc-$GLIBC.apk && \
apk del curl
RUN apk add libsecret
COPY docker-credential-secretservice /opt/docker-credential-secretservice
ENV PATH="/opt:${PATH}"
When I docker run -i -t then I can see that there is libsecret-1.so.0 in /usr/lib .
But docker-credential-secretservice still says it can not find it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the supplied Dockerfile with docker/compose:1.23.0 and the docker-credential-secretservice binary, then inspect how docker-compose invokes credential helpers. Define a supported integration that lets docker-compose access private images without requiring credentials inside the container. Done means the integration works in the reported environment and its behavior is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker-compose, go
- Domain
- devops, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100