I’m trying to use Docker BuildKit’s experimental cache mount feature but keep running into authentication issues. Here’s my setup:
My Dockerfile:
# syntax=docker/dockerfile:experimental
FROM ubuntu:20.04
# Configure apt caching
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt apt update && apt install -y build-essential
Current password store setup:
user@machine $ pass show
Password Store
`-- docker-credentials
|-- registry.docker.io
| `-- myusername
`-- docker-initialized
I’ve configured docker-credential-pass properly and can login to Docker Hub without issues. However, when building with BuildKit enabled, I get this error:
DOCKER_BUILDKIT=1 docker build -t myapp:latest .
[+] Building 0.3s (3/3) FINISHED
=> [internal] load build definition from Dockerfile 0.1s
=> [internal] load .dockerignore 0.1s
=> ERROR resolve image config for docker.io/docker/dockerfile:experimental 0.2s
------
> resolve image config for docker.io/docker/dockerfile:experimental:
------
failed to solve with frontend dockerfile.v0: rpc error: code = Unknown desc = error getting credentials - err: exit status 1, out: `exit status 2: gpg: decryption failed: No secret key`
What could be causing this GPG decryption failure? Is there something specific about BuildKit that requires different credential handling?