从远程机器列出 Nexus 存储库中的 docker 镜像

问题描述 投票:0回答:2

我想列出 Nexus 上特定位置的所有 docker 镜像。这两种技术对我来说都是新的,这让我很难弄清楚该怎么做。

我在一台安装了 docker 并运行这个命令的 linux 机器上 -

docker image ls --all xx.xx.xx.xx/myorg/nodelms*

其中 xx.xx.xx.xx 是 Nexus 的 IP 地址

输出中没有列出任何内容,如下所示。

REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

请有人指导我如何实现我所追求的目标。

docker nexus
2个回答
2
投票

docker image ls
仅与本地 docker 引擎交互,告诉您有关先前已拉取的图像。要查询远程注册表,您需要点击注册表 API。该 API 由 OCI distribution-spec 记录。您可以运行一些 curl 命令来实现这一点,尽管 auth 通常是复杂的部分。存在各种项目来访问此 API,包括 go-containerregistry 的 crane(由 Google 提供)、skopeo(由 RedHat 提供)和 regclient(由我提供)。为此使用 regclient 的
regctl
的示例如下所示:

$ regctl tag ls localhost:5000/library/debian
10
10-slim
10.3
10.3-slim
10.4
10.4-slim
10.5
10.5-slim
10.6
10.6-slim
10.7
10.8
6
7
8
9
buster-slim
latest

0
投票

curl -u user_name:password -X GET(此处可选,因为默认选择 GET 方法)'ip_nexus_repo:port/service/rest/v1/repositories'

然后检查特定 repo 的图像列表:v1/components?repository=repository_name

© www.soinside.com 2019 - 2024. All rights reserved.