使用 vSphere Docker Credential Helper CLI 将容器映像安全地推送到嵌入式 Harbor 注册表以及从嵌入式 Harbor 注册表中提取容器映像。

使用 vSphere Docker Credential Helper 安全地将 Docker 客户端连接到容器注册表。
注: vSphere Docker Credential Helper 旨在与嵌入式 Harbor 注册表一起使用,但该注册表已弃用。如果使用 Harbor 主管服务,请参见以下主题以使用 Docker 连接到该服务: 使用 Harbor 注册表证书配置 Docker 客户端

前提条件

Kubernetes CLI 工具下载页面包含用于下载 vSphere Docker Credential Helper 的链接。
  • 配置 Docker 客户端。
  • 获取对 主管 上启用的嵌入式 Harbor 注册表的访问权限。
  • 从 vSphere 管理员获取 适用于 vSphere 的 Kubernetes CLI 工具 下载页面的链接。
  • 或者,如果您有权访问 vCenter Server,请按如下所示获取链接:
    • 使用 vSphere Client 登录 vCenter Server
    • 导航到工作负载管理 > 命名空间,然后选择目标 vSphere 命名空间
    • 选择摘要选项卡,然后找到状态图标。
    • 选择链接到 CLI 工具标题下的打开以打开下载页面。或者,可以复制该链接。

过程

  1. 使用浏览器,导航到适用于您环境的 Kubernetes CLI 工具下载 URL。
  2. 向下滚动到 vSphere Docker Credential Helper 部分。
  3. 选择操作系统。
  4. 下载 vsphere-docker-credential-helper.zip 文件。
  5. 将 ZIP 文件的内容提取到工作目录。
    docker-credential-vsphere 二进制可执行文件包含在内。
  6. docker-credential-vsphere 二进制文件复制到 Docker 客户端主机。
  7. 将二进制文件的位置添加到系统路径中。
    例如,在 Linux 上:
    mv docker-credential-vsphere /usr/local/bin/docker-credential-vsphere
  8. 通过在 shell 或终端会话中运行命令 docker-credential-vsphere,验证 vSphere Docker Credential Helper 的安装。
    将显示横幅消息和 CLI 的命令行选项列表。
    vSphere login manager is responsible for vSphere authentication. 
    It allows vSphere users to securely login and logout to access Harbor images.
    
    Usage:
      docker-credential-vsphere [command]
    
    Available Commands:
      help        Help about any command
      login       Login into specific harbor server and get authentication
      logout      Logout from Harbor server and erase user token
    
    Flags:
      -h, --help   help for docker-credential-vsphere
    
    Use "docker-credential-vsphere [command] --help" for more information about a command.
    
  9. 登录到注册表。
    首先,查看用法:
    docker-credential-vsphere login -help
    Usage:
      docker-credential-vsphere login [harbor-registry] [flags]
    
    Flags:
      -h, --help               help for login
      -s, --service string     credential store service
          --tlscacert string   location to CA certificate (default "/etc/docker/certs.d/*.crt")
      -u, --user string        vSphere username and password
    
    注: vSphere Docker Credential Helper 要求用户字符串全部为小写字符。如果不全部使用小写字符,可能可以正常登录,但后续 Docker 命令可能不起作用。确保用户名全部使用小写字符。
    然后,使用以下命令登录:
    docker-credential-vsphere login <container-registry-IP>
    将获取并保存身份验证令牌,并且您已登录。
    docker-credential-vsphere login 10.179.145.77
    Username: [email protected]
    Password: INFO[0017] Fetched username and password
    INFO[0017] Fetched auth token
    INFO[0017] Saved auth token
    
  10. 注销 Harbor 注册表。
    docker-credential-vsphere logout 10.179.145.77