Docker 新發布的 hub-tool 可直接檢視賬戶配額

張晉濤發表於2020-12-25

Docker Desktop v3.0 已於前兩週正式釋出,從這個版本起,Docker 官方承諾每次的更新將以增量更新的方式來提供,以便減少下載包的體積,提升效率。

除了將 Docker Engine 更新至 v20.10.0 外,也對其他的依賴做了更新,如下圖:

image

最吸引我的是本次新增的 Docker Hub Tool v0.2.0 ,它是 Docker 官方提供的 Docker Hub CLI 工具,具備管理 DockerHub 上的帳號,映象等相關資源的能力。

以下,我來為你介紹下 Hub Tool 的主要功能。

(MoeLove) ➜  hub-tool -h
A tool to manage your Docker Hub images

Usage:
  hub-tool
  hub-tool [command]

Available Commands:
  account     Manage your account
  help        Help about any command
  login       Login to the Hub
  logout      Logout of the Hub
  org         Manage organizations
  repo        Manage repositories
  tag         Manage tags
  token       Manage Personal Access Tokens
  version     Version information about this tool

Flags:
  -h, --help      help for hub-tool
      --verbose   Print logs
      --version   Display the version of this tool

Use "hub-tool [command] --help" for more information about a command.

從一級選單來看,主要功能包括:

  • 登入/登出 DockerHub;
  • 賬戶相關管理功能;
  • 組織相關管理功能;
  • 倉庫和 tag 的相關管理功能;
  • token 的相關管理功能;

當前我使用的是最新版本 v0.2.0 。

(MoeLove) ➜  hub-tool version
Version:    v0.2.0
Git commit: 0edf43ac9091e7cac892cbc4cbc6efbafb665aa4

登入/退出

登入/退出只要執行 hub-tool login 或者 hub-tool logout 即可。

但這裡需要注意的是 Hub Tool 並沒有使用 Docker Desktop 預設的使用者憑證,也就是說,即使你在 Docker Desktop 中已經登入了帳號,你同樣還是需要再次在終端下執行 login 操作。

關於為何沒有共用使用者憑證的問題,我跟 Docker Inc. 的產品經理聊過,是因為當前 Hub Tool 還是一個獨立的 CLI 工具,並沒有與 docker CLI 進行整合,也暫時沒想好要如何整合。等真正要整合進 docker CLI 的時候,就會直接共用使用者憑證了。

(MoeLove) ➜  hub-tool login
Username: moelove
Password:

賬戶管理

賬戶管理的兩個功能:

  • 檢視賬戶資訊;
  • 檢視當前賬戶下的流量限制 , 這是我個人覺得比較有用的一個功能;
(MoeLove) ➜  hub-tool account
Manage your account

Usage:
  hub-tool account
  hub-tool account [command]

Available Commands:
  info          Print the account information
  rate-limiting Print the rate limiting information

Flags:
  -h, --help   help for account

Global Flags:
      --verbose   Print logs

Use "hub-tool account [command] --help" for more information about a command.
(MoeLove) ➜  hub-tool account rate-limiting
Limit:     200, 6 hours window
Remaining: 200, 6 hours window
(MoeLove) ➜  hub-tool account info
Username:    moelove.info
Full name:    Jintao Zhang
Company:
Location:
Joined:        6 years ago
Plan:        free
Limits:
  Seats:        1
  Private repositories:    1
  Parallel builds:    1
  Collaborators:    unlimited
  Teams:        unlimited

組織管理

可以看到,hub-tool org 的功能就是展示一些相關資訊了。

(MoeLove) ➜  hub-tool org
Manage organizations

Usage:
  hub-tool org
  hub-tool org [command]

Available Commands:
  ls          List all the organizations
  members     List all the members in an organization
  teams       List all the teams in an organization

Flags:
  -h, --help   help for org

Global Flags:
      --verbose   Print logs

Use "hub-tool org [command] --help" for more information about a command.
(MoeLove) ➜  hub-tool org ls
NAMESPACE    NAME    MY ROLE    TEAMS    MEMBERS

倉庫和 tag 管理

由於這兩個都和映象有直接的關係,我就聚合到一起介紹了。

  • 對 repo 的查詢和刪除功能:
(MoeLove) ➜  hub-tool repo -h
Manage repositories

Usage:
  hub-tool repo
  hub-tool repo [command]

Available Commands:
  ls          List all the repositories from your account or an organization
  rm          Delete a repository

Flags:
  -h, --help   help for repo

Global Flags:
      --verbose   Print logs

Use "hub-tool repo [command] --help" for more information about a command.
(MoeLove) ➜  hub-tool repo ls
REPOSITORY                             DESCRIPTION       LAST UPDATE      PULLS    STARS    PRIVATE
taobeier/saythx-work                                     2 years ago      56989    0        false
...
(MoeLove) ➜  hub-tool repo ls -h
List all the repositories from your account or an organization

Usage:
  hub-tool repo ls [ORGANIZATION]

Aliases:
  ls, list

Flags:
      --all             Fetch all available repositories
      --format string   Print values using a custom format ("json")
  -h, --help            help for ls

Global Flags:
      --verbose   Print logs
  • 對 tag 的列表,查詢,檢視詳細等功能。 這裡 可以看到 tag 最近一次的 Push/Pull 操作,如果明年 Docker 開始實行映象保留策略的話,我建議你關注一下
(MoeLove) ➜  hub-tool tag
Manage tags

Usage:
  hub-tool tag [flags]
  hub-tool tag [command]

Available Commands:
  inspect     Show the details of an image in the registry
  ls          List all the images in a repository
  rm          Delete a tag in a repository

Flags:
  -h, --help   help for tag

Global Flags:
      --verbose   Print logs

Use "hub-tool tag [command] --help" for more information about a command.
See 'hub-tool tag ls --help'.

Usage:  hub-tool tag ls [OPTION] REPOSITORY

List all the images in a repository
(MoeLove) ➜  hub-tool tag ls taobeier/saythx-work
TAG                            DIGEST                                                                     STATUS    LAST UPDATE    LAST PUSHED    LAST PULLED    SIZE
taobeier/saythx-work:latest    sha256:3133a607d062dd3a8b46f38c8271099c258f5e59cecd652bebddf6e15789cb32    active    2 years ago    2 years        6 days         52.94MB
taobeier/saythx-work:1.0       sha256:3133a607d062dd3a8b46f38c8271099c258f5e59cecd652bebddf6e15789cb32    active    2 years ago    2 years        6 days         52.94MB

Token 相關管理功能

對個人 Token 的建立/刪除,啟用/失效,列表,查詢詳細等功能。

(MoeLove) ➜  hub-tool token -h
Manage Personal Access Tokens

Usage:
  hub-tool token [flags]
  hub-tool token [command]

Available Commands:
  activate    Activate a Personal Access Token
  create      Create a Personal Access Token
  deactivate  Deactivate a Personal Access Token
  inspect     Inspect a Personal Access Token
  ls          List all the Personal Access Tokens
  rm          Delete a Personal Access Token

Flags:
  -h, --help   help for token

Global Flags:
      --verbose   Print logs

Use "hub-tool token [command] --help" for more information about a command.
(MoeLove) ➜  hub-tool token ls
DESCRIPTION               UUID                                    LAST USED       CREATED      ACTIVE
test-docker-token         xxxxxxxx-xxxx-xxxx-xxxx-moelove.info    9 months ago    9 months     true
(MoeLove) ➜  hub-tool token inspect xxxxxxxx-xxxx-xxxx-xxxx-moelove.info
Token:
UUID:    xxxxxxxx-xxxx-xxxx-xxxx-moelove.info
Description:    test-docker-token
Is Active:    true
Created:    9 months ago
Last Used:    9 months ago
Creator User Agent:    Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.4103.116 Safari/537.36
Creator IP:    100.000.000.00
Generated:    By user via Web UI

總結

以上就是關於 Docker 新發布的 Hub Tool 的全部功能介紹了。
當前它是隨著 Docker Desktop 一起發行的,所以 Linux 下暫時沒有。但是計劃會盡快開源。敬請期待!


歡迎訂閱我的文章公眾號【MoeLove】

TheMoeLove

相關文章