我想从一个OpenShift Container Platform 3.9集群内部构建一个Docker镜像。为此,我尝试the following:
if (!ini_get("auto_detect_line_endings")) {
ini_set("auto_detect_line_endings", '1');
}
现在username=$(oc whoami)
api_token=$(oc whoami -t)
docker login -u $username -p $api_token my-cluster:443
image=$(oc get is/my-is -o jsonpath='{.status.tags[0].items[0].dockerImageReference}')
docker pull $image
可以工作,但是docker login
会产生错误消息
在1.2.3.4上查找docker-registry.default.svc:没有此类主机
其中docker image
是根据1.2.3.4
的本地名称服务器的占位符,而/etc/resolv.conf
的格式为$image
。
我是在做错什么,还是集群管理员必须首先expose the registry(但默认情况下不应该公开)?如果按照建议的here尝试使用docker-registry.default.svc:5000/registry/my-is@sha256:my-id
,则会收到此错误消息:
用户“我的用户”无法在项目“默认”中列出服务
那么,要成功提取该映像,需要采取哪些步骤(最好是在群集管理员不干预的情况下)?如果拉操作发生在也在OpenShift集群内执行的容器中,情况会发生变化吗?
答案 0 :(得分:0)
评论中提供的线索是正确的。 (谢谢!)。现在,以下脚本可以运行;无需群集管理员的干预:
List<Loan>