暴露Openshift在线码头工程师

时间:2018-02-20 13:25:18

标签: image docker openshift

我希望将自定义泊坞窗映像推送到OpenShift Online 3以在那里运行容器实例。我在论坛/博客上看到了很多关于如何做到这一点的说明,但这个过程的第一部分似乎是在逃避我。

这是我使用的参考资料之一:link

我使用oc命令登录:

oc login https://api.starter-us-west-2.openshift.com --token=xxxxxxx

这让我进入并且我可以运行命令来返回正在运行的服务(其中一个应该是docker实例):

oc get svc

但我得到的答案很简单:

NAME         CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
test-phil4   172.30.217.192   <none>        8080/TCP   13h

我期待看到我可以连接到的docker实例的行。我想我需要揭露&#39;这个命令应该是:

oc expose service docker-registry

但是没有看到服务的是服务列表,我不确定我该怎么做 - 结果是 - 可以预见:

error: services "docker-registry" not found

我觉得这与我的用户权限有关 - 我目前已授予我的用户&#39; image-pusher&#39; image-builder&#39;,#39;注册表-admin&#39;和&#39;群集状态&#39;。还有很多选择,其中大部分都似乎无法应用。

也许这对于免费套餐是不可能的,或者在网络版本中根本不可用?有谁知道如何将我现有的docker repo连接到我连接并上传我的自定义图像的OpenShift repo?

谢谢, 菲尔

1 个答案:

答案 0 :(得分:3)

OpenShift Online群集的注册表在registry.<cluster-id>.openshift.com公开。因此,对于您的示例,要登录到starter-us-west-2的注册表,登录到群集后,您将运行

docker login registry.starter-us-west-2.openshift.com -u $(oc whoami) -p $(oc whoami -t)

然后,您可以使用

从项目中推送
docker push registry.<cluster-id>.openshift.com/<project_name>/<image-name>:<image-tag>
docker pull registry.<cluster-id>.openshift.com/<project_name>/<image-name>:<image-tag>
  

注意:要docker push,您必须已将本地图片标记为registry.<cluster-id>.openshift.com/<project_name>/<image-name>:<image-tag>