Bal*_*hna 0 azure openshift docker openshift-client-tools docker-registry
我正在使用部署在 Azure 中的 Redhat OpenShift 4.4.17。
我以管理员身份登录 OpenShift。
我本地有一个 Docker 镜像,现在我需要将我的 docker 镜像推送到 OpenShift Docker 注册表。
我正在使用下面的命令
docker login -u <user_name> -p `oc whoami -t` image-registry.openshift-image-registry.svc:5000
Run Code Online (Sandbox Code Playgroud)
我收到错误如下:
来自守护程序的错误响应:获取https://image-registry.openshift-image-registry.svc:5000/v2/:拨打 tcp:查找 image-registry.openshift-image-registry.svc:没有这样的主机”
我可以尝试什么来解决这个问题?
请看这个:
$ oc 获取路线 -n openshift-image-registry
NAME HOST/PORT
Run Code Online (Sandbox Code Playgroud)
默认路由 默认路由 openshift-image-registry。
路径服务端口终止通配符
image-registry <all> reencrypt None
Run Code Online (Sandbox Code Playgroud)
Dae*_*ark 10
image-registry.openshift-image-registry.svc:5000无法在 Openshift 集群的外部解析,因为它是内部注册表服务名称。因此,您应该通过注册表的 Route 主机名访问内部注册表服务才能执行此操作docker login。如果内部注册表未公开,请参阅手动公开安全注册表。
// expose the internal registry to external using Route.
$ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
// Verify the internal registry Route hostname.
$ oc get route -n openshift-image-registry
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
default-route default-route-openshift-image-registry.apps.clustername.basedomain image-registry <all> reencrypt None
// Try to login using the internal registry Route hostname.
$ docker login -u <user_name> -p $(oc whoami -t) default-route-openshift-image-registry.apps.clustername.basedomain
Run Code Online (Sandbox Code Playgroud)
这是我使用 podman 的测试证据如下。首先,您应该在由 docker 或 podman 客户端执行的客户端主机上放置并更新路由器通配符证书的受信任 CA。
# podman login -u admin -p $(oc whoami -t) default-route-openshift-image-registry.apps.<clustername>.<basedomain>
Login Succeeded!
Run Code Online (Sandbox Code Playgroud)
此外,如果您遇到“x509:由未知权威机构签名的证书”错误消息,那么您应该将路由器信任的 CA 放置在您的主机上,或者应该在 podman 情况下使用“--tls-verify=false”,或者在 docker 情况下使用相同的选项而不是那个。
# podman login -u admin -p $(oc whoami -t) default-route-openshift-image-registry.apps.<clustername>.<basedomain>
Error: error authenticating creds for "default-route-openshift-image-registry.apps.<clustername>.<basedomain>": pinging docker registry returned: Get https://default-route-openshift-image-registry.apps.<clustername>.<basedomain>/v2/: x509: certificate signed by unknown authority
# podman login --tls-verify=false -u admin -p $(oc whoami -t) default-route-openshift-image-registry.apps.<clustername>.<basedomain>
Login Succeeded!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8613 次 |
| 最近记录: |