Git Openshift v3联机上的生成器角色

Git Openshift v3联机上的生成器角色,git,docker,openshift,Git,Docker,Openshift,我目前正在尝试在Openshift(Starter)的在线版本上部署一个应用程序 我的应用程序在Github public repo上包含其源代码,并且已经有一个Dockerfile(在我的本地docker机器上成功构建并测试) 因为我已经在我的机器上克隆了git存储库,所以我刚刚尝试了以下命令: oc new-app . -> [...] -> error: buildconfigs.build.openshift.io "myapp" is forbidden: build st

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

我的应用程序在Github public repo上包含其源代码,并且已经有一个Dockerfile(在我的本地docker机器上成功构建并测试)

因为我已经在我的机器上克隆了git存储库,所以我刚刚尝试了以下命令:

oc new-app .
-> [...]
-> error: buildconfigs.build.openshift.io "myapp" is forbidden: build strategy Docker is not allowed
因此,我尝试为我的帐户检查并定义新角色(我是角色绑定中的管理员)

所以我想创建一个新的特定角色来创建docker构建:

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(使用默认的开发人员帐户)部署了相同的应用程序,一切都很好

这是红帽的全球限制还是我的帐户配置中遗漏了什么


谢谢。

OpenShift Online目前不支持docker构建策略。这是因为提供该功能会给平台带来安全风险,因为构建必须具有提升的权限。提升的权限是,从
Dockerfile
运行的构建映像的步骤可以作为
root
执行。风险在于docker构建代码存在安全漏洞,在这种情况下,用户可能成为集群内机器的root用户。作为一个你不拥有的共享系统,这会影响到你自己,所以它会被阻止


您可以在自己的系统上构建映像,登录到OpenShift为您提供的注册表,然后将映像推送到OpenShift以便您可以使用。

OpenShift Online目前不支持docker构建策略。这是因为提供该功能会给平台带来安全风险,因为构建必须具有提升的权限。提升的权限是,从
Dockerfile
运行的构建映像的步骤可以作为
root
执行。风险在于docker构建代码存在安全漏洞,在这种情况下,用户可能成为集群内机器的root用户。作为一个你不拥有的共享系统,这会影响到你自己,所以它会被阻止

您可以做的是在您自己的系统上构建映像,登录到OpenShift为您提供的注册表,然后将映像推送到OpenShift中,以便您可以使用它

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