You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Login使用过期GPG密钥报错,如何切换至新GPG密钥?

解决Docker Login使用新GPG密钥的问题

问题根源

Docker的凭证存储工具(如pass)仍绑定着已过期的旧GPG密钥ID,导致登录时尝试用旧密钥加密凭证失败。

解决方案步骤

1. 确认Docker的凭证存储方式

查看~/.docker/config.json文件,找到credsStore或credHelpers字段,确定当前使用的凭证存储工具(常见为pass)。

2. 获取新GPG密钥ID

执行gpg --list-keys,从输出中复制新密钥的ID(通常是公钥行末尾的8位或16位字符)。

3. 更新凭证存储的加密密钥(以pass为例)

  • 先备份现有pass存储,防止凭证丢失:
    cp -r ~/.password-store ~/.password-store.bak
    
  • 用新GPG密钥重新初始化pass:
    pass init 你的新GPG密钥ID
    
  • 重新执行docker login,此时Docker会使用新密钥加密并存储凭证。

4. 直接配置Docker使用新GPG密钥(非pass场景)

  • 检查是否存在指定旧密钥的环境变量,若有则更新:
    export DOCKER_GPG_KEY_ID=你的新GPG密钥ID
    
  • 清理旧的Docker凭证配置:编辑~/.docker/config.json,删除auths字段下的对应仓库配置。
  • 确保新GPG密钥设为默认密钥:
    gpg --default-key 你的新GPG密钥ID
    
  • 重新执行docker login即可。

5. 确保新密钥已被信任

执行以下命令设置新密钥为最高信任级别:

gpg --edit-key 你的新GPG密钥ID

在交互界面中输入trust,选择5 = I trust ultimately,最后输入save退出。

内容的提问来源于stack exchange,提问作者HeronAlgoSearch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:37:35