2017-08-26 58 views
0

我目前正在嘗試部署在線版本的Openshift(Starter)上的應用程序。在Openshift v3在線生成器角色

我的應用程序在Github公共庫中包含它的源代碼,並且已經有一個Dockerfile(已成功在我的本地docker機器上構建和測試過)。

既然我已經克隆我的機器上的git倉庫,我只是嘗試這樣的命令:

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

於是,我就檢查併爲我的賬戶定義新的角色(我在角色綁定管理員)

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

所以我想創造創造泊塢窗新的特定角色建立:

dockerstategy.yaml

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

但apprently它是被禁止過......

oc create -f dockerstrategy.yaml 
-> Error from server (Forbidden): error when creating "dockerstrategy.yaml": role.authorization.openshift.io "dockerbuilder" is forbidden: user "[email protected]" cannot grant extra privileges 

我與Openshift原產地(使用默認的開發者賬戶),一切都部署了相同的命令相同的應用程序在本地的罰款。

這是來自Red Hat的全球限制還是我錯過了我的賬戶配置?

謝謝。

回答

2

OpenShift Online目前不支持docker構建策略。這是因爲提供該功能會給平臺帶來安全風險,因爲構建必須具有較高的權限。提升的權限是使得從Dockerfile開始構建圖像的步驟可以執行爲root。 Docker構建代碼存在安全漏洞的風險是,在這種情況下,用戶可能會成爲羣集內某臺計算機的根。作爲一個你不擁有的共享系統,這會影響到更多,只有你自己,以及爲什麼它被阻止。

你可以做的是在你自己的系統上構建鏡像,登錄OpenShift爲你提供的註冊表,然後將鏡像推送到OpenShift中,以便使用它。