首页/云/Docker 容器速查/~/.docker/config.json 认证与客户端配置
镜像与构建107 条

~/.docker/config.json 认证与客户端配置

Docker 客户端的个人配置文件:保存 auths 认证条目、credHelpers、proxies 等;列出 auths 键名即可自查登录过哪些仓库。

Docker 容器速查云更新于 2026-10-13

文件是什么

~/.docker/config.json 是 Docker 客户端的个人配置文件:auths 保存登录过的仓库凭据条目,credHelpers 或 credsStore 指向凭据助手,proxies 保存客户端代理设置。核对登录过哪些仓库时,只需要列出 auths 的键名,不要把内容本身输出或分享出去。

基本信息

路径~/.docker/config.json
关键节点auths、credHelpers、credsStore、proxies
权限要求仅当前用户可读
敏感程度高,包含凭据或凭据助手引用
适用平台各平台 Docker CLI

典型使用场景

  • 自查本机登录过哪些镜像仓库
  • 排查拉取失败是否与代理设置有关
  • 确认是否使用了凭据助手而非明文存储
  • 清理不再使用的仓库凭据,配合退出登录命令
  • 核查共享构建机上的凭据文件权限

安全的自查方式

安全的自查方式
jq '.auths | keys' ~/.docker/config.json    # 只输出仓库名,避免带出凭据
jq '.proxies' ~/.docker/config.json         # 查看代理配置
jq 'has("credsStore") or has("credHelpers")' ~/.docker/config.json   # 是否使用凭据助手
ls -l ~/.docker/config.json                 # 核对文件权限

节点含义

节点含义注意
auths各仓库的认证条目auth 字段是 base64 编码,不是加密
credsStore全局凭据助手凭据存系统钥匙串,文件里无明文
credHelpers按仓库指定的助手优先级高于全局设置
proxies客户端代理设置会影响镜像拉取的网络出口
auths 里的 auth 只是 base64(user:password) 编码,等同于明文;排查时只输出键名,避免把凭据带进工单或聊天记录。
该文件权限应保持仅本人可读;在共享机器上发现权限过宽,应先收紧权限再继续其他排查。

凭据治理建议

  • 优先使用凭据助手把凭据存进系统钥匙串,减少磁盘上的可解码内容
  • 定期核对认证条目清单,清理已经不再使用的仓库登录记录
  • 共享机器上把文件权限收敛到仅本人可读,用完记得清理凭据
  • 不要把该文件纳入任何形式的分享、备份附件或工单材料
  • 排查问题时只输出结构键名,避免凭据被写进日志

易错点

  • 把该文件内容贴进工单或聊天:等同于交出凭据,分享前必须脱敏或只保留结构
  • 忽略代理设置的影响:网络异常时只顾排查镜像仓库,实际问题出在客户端代理出口
  • 长期使用明文 auth 而不启用凭据助手:凭据以可解码形式留在磁盘上,风险更高
  • 以为退出登录会回收远端权限:退出只清理本地凭据,不影响远端账号的授权状态

数据来源与参考

  • Docker 官方文档:config.json 文件结构与认证存储(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌