我已经搜索了一段时间。我无权访问用于构建映像的二进制项,因为人工迁移破坏了存储库。我想从图像中提取一种特别珍贵的二进制文件。我知道docker save
会救我,但我无权访问docker,只能访问oc
客户端。
编辑:
四处逛逛后,认为应该使用docker-registry API。调试oc
客户端和docker-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
答案 0 :(得分:2)
如果暴露了内部映像注册表,则可以登录,然后将映像拉回到本地系统并使用它进行所需的操作。登录说明可以在以下位置找到:
这是关于进行推送,但是您想进行拉动。