执行docker-compose up -d时遇GPG密钥解密错误的解决咨询
解决docker-compose拉取镜像时的GPG密钥解密失败问题
问题现象
执行docker-compose up -d时,网络和卷创建成功,但拉取mysql:8.0镜像时触发错误,核心报错信息:
Credentials store docker-credential-pass exited with "exit status 2: gpg: decryption failed: No secret key".
解决方案
方案1:临时禁用凭证存储
直接修改Docker配置跳过凭证存储工具:
- 编辑
~/.docker/config.json文件 - 找到
credsStore字段,将其值设为空字符串"",或直接删除该字段 - 保存文件后重新执行
docker-compose up -d
方案2:修复GPG密钥与pass工具配置
如果需要继续使用凭证存储,按以下步骤修复:
- 检查本地GPG私钥:执行
gpg --list-secret-keys,确认是否存在可用的私钥 - 若无密钥,生成新GPG密钥:
gpg --gen-key,按提示完成姓名、邮箱、密码等设置 - 初始化pass工具:
pass init [你的GPG密钥ID](密钥ID可从gpg --list-secret-keys输出中提取) - 重新登录Docker:
docker login,输入账号密码让凭证存储重新保存加密后的凭证
方案3:重新安装docker-credential-pass
针对Debian/Ubuntu系统:
- 卸载现有工具:
sudo apt remove docker-credential-pass - 重新安装:
sudo apt install docker-credential-pass - 完成后执行方案2中的初始化和登录步骤
内容的提问来源于stack exchange,提问作者Ronak Jain
相关产品推荐
相关产品推荐

