命令是干什么的
docker logout 退出注册表并删除本地保存的对应认证信息:可以指定注册表地址,不指定时默认退出默认仓库。它只清理本机凭据,不影响远端账号的状态,因此退出之后该账号在其他机器上依然处于登录状态,远端授权需要另行处理。
基本信息
| 用途 | 清理本机保存的仓库凭据 |
|---|---|
| 语法 | docker logout [注册表地址] |
| 影响范围 | 仅本机的客户端配置文件 |
| 不影响 | 远端账号、令牌与权限 |
| 验证方式 | 执行一次拉取,返回未授权即为预期 |
典型使用场景
- 共享构建机上使用完仓库凭据后清理
- 切换不同账号前先退出旧账号
- 排查拉取失败时确认当前是否处于登录状态
- 安全巡检时统一清理不再使用的凭据
- 机器交接或退役前清理本地凭据
退出与验证
退出与验证
docker logout registry.example.com # 退出指定仓库
docker logout # 退出默认仓库
docker pull registry.example.com/team/app/web:1.0 # 验证:返回未授权说明凭据已清理
jq '.auths | keys' ~/.docker/config.json # 确认认证条目已移除动作与结果
| 动作 | 结果 | 注意 |
|---|---|---|
| 退出指定仓库 | 删除该仓库凭据 | 地址要写完整 |
| 退出默认仓库 | 删除默认仓库凭据 | 与指定地址的条目互不影响 |
| 退出后拉取 | 返回未授权 | 属于预期结果 |
| 远端账号 | 不受影响 | 其他机器仍保持登录 |
退出后可以用一次拉取动作验证:返回未授权说明本地凭据已清理,符合预期。
共享机器上忘记退出会留下可复用的凭据文件,是实际运维中常见的安全遗漏。
凭据清理场景
- 构建机任务结束后统一退出,避免凭据被后续任务复用
- 人员交接前清理本地仓库登录,防止账号被他人继续使用
- 安全巡检时列出认证条目清单,逐个确认是否仍在用
- 退役或重装机器前先退出并确认配置文件中已无相关条目