58 lines
1.1 KiB
Bash
Executable File
58 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 查询 docker 镜像信息
|
||
|
||
# 相关参数
|
||
## 版本号
|
||
VERSION=0.2.0
|
||
## Docker 镜像仓库
|
||
REPO=docker.io
|
||
## Docker 镜像
|
||
IMAGE=$1
|
||
## 仅查询Tags
|
||
ONLY_TAGES=$2
|
||
|
||
# 相关方法
|
||
## 帮助信息
|
||
help () {
|
||
echo 'Usage: dii Docker镜像名称 是否仅查询Tags'
|
||
echo '提示:需要先安装 skopeo 和 jq 包,安装方式请参考官方文档'
|
||
echo '示例:'
|
||
echo ' 从 Docker Hub 中查找 MySQL 镜像的信息:dii mysql'
|
||
echo ' 从 Docker Hub 中查找 MySQL 镜像的信息,仅输出 Tags:dii mysql t'
|
||
}
|
||
## 版本号
|
||
version () {
|
||
echo 'dii '$VERSION
|
||
}
|
||
## 查询所有信息
|
||
searchAllInfo () {
|
||
skopeo inspect docker://${REPO}/${IMAGE}
|
||
}
|
||
## 仅查询Tags
|
||
searchTagsOnly () {
|
||
skopeo inspect docker://${REPO}/${IMAGE} | jq ".RepoTags"
|
||
}
|
||
## 查询镜像信息
|
||
searchImage () {
|
||
echo '------------------------------ 正在从 '$REPO' 搜索镜像 '$IMAGE' 相关信息,请稍后... ------------------------------'
|
||
if [ $ONLY_TAGES ]; then
|
||
searchTagsOnly
|
||
else
|
||
searchAllInfo
|
||
fi
|
||
}
|
||
|
||
# 执行方法
|
||
case $1 in
|
||
help)
|
||
help
|
||
;;
|
||
version)
|
||
version
|
||
;;
|
||
*)
|
||
searchImage
|
||
;;
|
||
esac
|