我想使用Docker BuidlKit的一项实验性功能(mount = type = cache)
我的Dockerfile的第一行是:
# syntax=docker/dockerfile:experimental FROM i386/debian:buster # # Setup an apt cache for Docker (experimental) # 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-get --no-install-recommends install -y gcc
我已经为docker设置了密码存储区,成功登录到docker中心,在PATH中使用“ docker-credential-pass”二进制文件,设置了“使用加密密码的docker登录过程”。 (如
中所述"How to Enable Docker Experimental Features and Encrypt Your Login Credentials"
kalou@shinwey $ pass list Password Store `-- docker-credential-helpers |-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | `-- berryamin `-- docker-pass-initialized-check
但是当我启动映像构建时,该过程失败并显示:
DOCKER_BUILDKIT=1 docker build -t minexpert2:0.1 . [+] Building 0.5s (3/3) FINISHED => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 38B 0.0s => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => ERROR resolve image config for docker.io/docker/dockerfile:experimental 0.4s ------ > resolve image config for docker.io/docker/dockerfile:experimental: ------ failed to solve with frontend dockerfile.v0: failed to solve with frontend gateway.v0: rpc error: code = Unknown desc = error getting credentials - err: exit status 1, out: `exit status 2: gpg: decryption failed: No secret key`
有人可以帮忙解释一下这里缺少什么吗?
答案 0 :(得分:0)
我们在尝试推送到ghcr.io时遇到了这个问题,出现了此错误,执行了此处解决的步骤,删除了该错误,然后我们推送了https://docs.github.com/en/free-pro-team@latest/packages/getting-started-with-github-container-registry/enabling-improved-container-support
答案 1 :(得分:-1)
首先尝试下载docker映像并运行用于生成映像的命令,它对我有用