Docker Desktop v3.0 已於前兩週正式釋出,從這個版本起,Docker 官方承諾每次的更新將以增量更新的方式來提供,以便減少下載包的體積,提升效率。
除了將 Docker Engine 更新至 v20.10.0 外,也對其他的依賴做了更新,如下圖:
最吸引我的是本次新增的 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】