首页/云/Docker 容器速查/docker login 登录镜像仓库
镜像与构建107 条

docker login 登录镜像仓库

登录注册表以获取拉取与推送权限:密码通过 --password-stdin 传入可避免泄漏到命令历史,凭据默认写入 ~/.docker/config.json。

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

docker login 是什么

向镜像仓库认证,取得拉取与推送的权限。凭据默认保存在本机配置目录的配置文件里,也可以交给系统的凭据管理器保存。自动化环境里要把口令通过标准输入传入,避免出现在命令历史与进程列表中。

基本信息

语法docker login [仓库地址] [选项]
默认目标不写地址时登录公共镜像仓库
常用选项-u 指定账号,配合标准输入传入口令
凭据位置本机配置目录的配置文件中,或由凭据助手保存
登出方式docker logout 清理本机保存的凭据

典型使用场景

  • 部署机拉取私有镜像:先登录取得拉取权限,再由部署脚本执行拉取
  • 发布流程推送镜像:构建环节登录后推送,结束后登出清理凭据
  • 多仓库并行使用:不同环境登录不同仓库,按需切换
  • 流水线集成:用专用机器人账号登录,权限范围限定到目标命名空间
  • 排查权限问题:确认当前登录的是哪个账号,以及凭据是否过期

常用示例

常用示例
docker login                                                    # 交互式登录公共仓库
docker login registry.example.com                               # 登录私有仓库
echo "$REGISTRY_TOKEN" | docker login registry.example.com -u ci-bot --password-stdin  # 自动化场景
docker info | grep -i registry                                  # 查看仓库相关配置
docker logout registry.example.com                              # 登出并清理凭据

凭据保存方式

方式特点适用环境
配置文件明文保存简单直接,凭据可被本机其他程序读取单机开发环境
系统凭据助手凭据进系统密钥链,配置文件只留引用桌面环境与多人共用机器
流水线注入由流水线变量提供并即时登出持续集成环境
专用机器人账号权限限定在目标命名空间需要审计与最小权限的生产环境

凭据管理建议

  • 使用访问令牌而不是账号密码,令牌可随时吊销、权限可控
  • 不要用命令行直接带口令的写法,它会被记入历史与进程信息
  • 共享构建机上任务结束要登出,避免后续任务拿到别人的凭据
  • 凭据助手在无图形界面的机器上可能不可用,需要明确退化为配置文件并加强文件权限
  • 把凭据过期纳入监控,认证失效导致的部署失败往往在上线窗口才暴露
带口令的命令行参数会被记录在命令历史与进程列表里,任何能查看进程的人都能读到。自动化环境统一使用标准输入传入的方式。
配置目录里的凭据文件是明文或用简单编码保存的,属于敏感文件。共用机器上要限制文件权限,任务结束顺手登出。

易错点

  • 用命令行参数直接带口令,凭据进入历史与进程列表,等于泄露
  • 共享构建机任务结束后没有登出,后续任务沿用别人的凭据,责任与权限都混乱
  • 令牌过期导致认证失败,被误判成网络问题,反复重试浪费上线时间
  • 配置目录权限过宽,本机其他账号可以读到凭据

数据来源与参考

  • Docker 官方 CLI 参考:docker login(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌