可能我没有得到正确的答案,但我的ImageStream回归" !错误:导入失败(未授权):您可能无法访问Docker镜像" my_registry:5000 / project / my_image:latest" "。
我已经设置了连接到外部注册表所需的所有步骤(创建了秘密并将其添加到当前项目的serviceaccount / default和serviceaccount / builder帐户)。具有指定image: my_registry:5000/project/my_image:latest
的所有部署配置都运行良好,节点可以成功提取图像并创建窗格。
但是当我用以下方式制作图像流时
from:
kind: DockerImage
name: my_registry:5000/project/my_image:latest
我收到错误消息,我未获得授权。
那么我做错了什么?是否有任何额外的帐户我应该给予权利拉?
oc describe sa/builder
Name: builder
Namespace: nginx
Labels: <none>
Image pull secrets: builder-dockercfg-8ogvt
my_registry
Mountable secrets: builder-token-v6w8q
builder-dockercfg-8ogvt
my_registry
Tokens: builder-token-0j8p5
builder-token-v6w8q
和
oc describe sa/default
Name: default
Namespace: nginx
Labels: <none>
Image pull secrets: default-dockercfg-wmm1h
my_registry
Mountable secrets: default-token-st7k9
default-dockercfg-wmm1h
Tokens: default-token-m2aoq
default-token-st7k9
答案 0 :(得分:0)
解决方案取决于您的特定基础架构配置,但这里有一些对我有用的指示 -
请查看here
oc secrets link default <pull_secret_name> --for=pull
答案 1 :(得分:0)
当我尝试从另一个Openshift群集中托管的docker注册表导入图像时,我遇到了同样的问题。经过一些调试我发现了问题:无法找到匹配https://docker-dev.xxxx.com:443/openshift/token的秘密(docker-dev.xxxx.com:443/openshift/token)
Openshift Docker注册表正在使用Openshift的OAuth。因此,您必须创建一个--docker-server
指向/openshift/token
端点的秘密。例如:
oc secrets new-dockercfg registry.example.com \
--docker-server=https://registry.example.com:443/openshift/token \
--docker-username=default/puller-sa \
--docker-password=<token> \
--docker-email=someone@example.com