OpenShift Docker 登录问题
OpenShift Docker login issue
我已经根据 Red Hat 说明设置了本地 OpenShift 实例并安装了 docker 注册表。但是,我在登录内部 docker 注册表时遇到问题。我确信我对 Docker and/or OpenShift 工作原理的理解存在一些差距。我已经为我的用户提供了 admin、cluster-admin 和 system:registry 角色,这是我认为我需要的。我通过 oc 登录,然后尝试像这样登录注册表:
docker login -u $(oc whoami) -e 'xxxxxx' -p $(oc whoami -t) $(hostname):8443
我得到以下回复:
Error response from daemon: Unexpected status code [403] : {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "User \"system:anonymous\" cannot \"post\" on \"/v1/users/\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
我没有找到很多关于这个特定错误消息的信息,所以我不确定我到底遗漏了什么。
本应使用内部 docker IP:
# oc get svc docker-registry -n default
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
docker-registry 172.30.10.52 <none> 5000/TCP 9h
如果您在 openshift 集群之外访问 docker 注册表。这些是您必须要做的事情。
为服务创建路由(从 cli 或 web 控制台)。
oc create route --service=<registryName>
如果您使用的是自签名证书,请将此路由添加到主机的不安全 docker 注册表选项(取决于您使用的主机)。
然后尝试 docker 登录到 docker 注册表。
你说你在 openshift 中安装了一个注册表,他们已经在 openshift 中有一个 docker 注册表 运行。
我已经根据 Red Hat 说明设置了本地 OpenShift 实例并安装了 docker 注册表。但是,我在登录内部 docker 注册表时遇到问题。我确信我对 Docker and/or OpenShift 工作原理的理解存在一些差距。我已经为我的用户提供了 admin、cluster-admin 和 system:registry 角色,这是我认为我需要的。我通过 oc 登录,然后尝试像这样登录注册表:
docker login -u $(oc whoami) -e 'xxxxxx' -p $(oc whoami -t) $(hostname):8443
我得到以下回复:
Error response from daemon: Unexpected status code [403] : {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "User \"system:anonymous\" cannot \"post\" on \"/v1/users/\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
我没有找到很多关于这个特定错误消息的信息,所以我不确定我到底遗漏了什么。
本应使用内部 docker IP:
# oc get svc docker-registry -n default
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
docker-registry 172.30.10.52 <none> 5000/TCP 9h
如果您在 openshift 集群之外访问 docker 注册表。这些是您必须要做的事情。
为服务创建路由(从 cli 或 web 控制台)。
oc create route --service=<registryName>
如果您使用的是自签名证书,请将此路由添加到主机的不安全 docker 注册表选项(取决于您使用的主机)。
然后尝试 docker 登录到 docker 注册表。
你说你在 openshift 中安装了一个注册表,他们已经在 openshift 中有一个 docker 注册表 运行。