Builder在Openshift v3上的angular色

我目前正在尝试在网上版本的Openshift(Starter)上部署一个应用程序。

我的应用程序包含在Github公共回购的源代码,并已经有一个Dockerfile(在我的本地docker机成功build立和testing)。

由于我已经在我的机器上克隆了git仓库,所以我刚才试过这个命令:

oc new-app . -> [...] -> error: buildconfigs.build.openshift.io "myapp" is forbidden: build strategy Docker is not allowed 

所以我试图检查和定义我的帐户的新angular色(我是angular色绑定的pipe理员)

 oc policy can-i create buildconfigs -> yes oc describe policyBindings :default -n mynamespace -> [...] -> RoleBinding[admin]: -> Users: myemail@mail.com oc policy can-i create builds/source -> yes oc policy can-i create builds/docker -> no 

所以我想创build一个新的特定的angular色来创builddocker构build:

dockerstategy.yaml

 kind: Role apiVersion: v1 metadata: name: dockerbuilder rules: - resources: - builds/docker verbs: - create 

但是,它也是被禁止的

 oc create -f dockerstrategy.yaml -> Error from server (Forbidden): error when creating "dockerstrategy.yaml": role.authorization.openshift.io "dockerbuilder" is forbidden: user "myemail@mail.com" cannot grant extra privileges 

我用Openshift Origin在本地部署了相同的应用程序(使用默认的开发者帐户),一切都很好。

这是来自红帽的全球限制还是我错过了我的帐户configuration?

谢谢。

OpenShift Online目前不支持docker构build策略。 这是因为提供该function会给平台带来安全风险,因为构build必须具有较高的权限。 提升的特权使得从Dockerfile运行的步骤可以以root身份执行。 Docker构build代码的风险是存在一个安全漏洞,在这种情况下,用户可能成为集群内某台机器上的root用户。 作为一个你不拥有的共享系统,这会影响到更多,只有你自己,为什么它被阻止。

你可以做的是在你自己的系统上构build镜像,loginOpenShift为你提供的registry,然后将镜像推送到OpenShift中,以便使用它。