1

我一直在寻找这个。我无权访问用于构建映像的二进制项,因为人工迁移破坏了存储库。我想从图像中提取一个特别珍贵的二进制文件。我知道docker save会救我,但我无法访问 docker,只能访问oc客户端。

编辑:

环顾一圈后,认为 docker-registry API 应该是要走的路。调试ocdocker-registry pod 的客户端和日志,发现似乎使用了 v1 和 v2 API 版本。

不知何故,不能比版本检查更进一步。

从 oc 获取身份验证令牌和注册表 url:

TOKEN=`oc whoami -t`
URL="https://"`oc -n default get route docker-registry -o jsonpath="{.status.ingress[0].host}"

然后得到正确的回应:

curl -k -X GET -H "Authorization: Bearer $TOKEN" "$URL/v2/"
...
HTTP/1.1 200 OK

但:

curl -k -X GET -H "Authorization: Bearer $TOKEN" "$URL/v2/_catalog"
...
 HTTP/1.1 400 Bad Request
4

1 回答 1

2

如果暴露,您可以登录到内部映像注册表,然后将映像拉回本地系统并使用它做您想做的事情。登录说明可在以下位置找到:

那是说做推,但你想做拉。

于 2018-07-19T09:39:21.950 回答