2016-11-01 49 views
1

我有一個docker鏡像,並將其推送到了openshift的docker註冊表中。現在我需要通過傳遞一些ENV變量來運行Docker鏡像。如下圖所示,當我點擊「添加到項目」鏈接時,我的泊塢窗圖像「mycustomdaemon:latest」被列出。如何在openshift源碼中運行docker鏡像,而無需通過web控制檯構建它

My Docker Image Listed in apps

然而,當我點擊圖像上,它要求我提供了構建配置和Git倉庫URL如下面的圖所示:

enter image description here

不過我只需要運行映像並且不想重建它或執行任何此類操作。我如何能夠解決這個問題,只需運行一個自定義的docker鏡像而不需要執行任何操作?

我試圖通過發出oc new-app命令直接從CLI運行映像,但得到了以下錯誤輸出。

error: can't look up Docker image "172.30.55.11:5000/default/mycustomdaemon:latest": Internal error occurred: Get https://172.30.55.11:5000/v2/ : http: server gave HTTP response to HTTPS client error: no match for "172.30.55.11:5000/default/mycustomdaemon:latest"

error when issuing oc new-app command

oc get is命令會生成以下的輸出:

output of oc get is command

+0

您正在使用哪個版本openshift?在版本3.3中有一個選項「部署映像」 –

+0

@ÁlvaroPérezSoria:我正在使用openshift v1.2。0 ** [root @ mymachine〜]#'openshift version' ** ** openshift v1.2.0 ** ** kubernetes v1.2.0-36-g4a3f9c5 ** ** etcd 2.2.5 ** –

+0

I看到你編輯了這個問題。你有你的內部註冊表,添加爲docker配置中不安全的註冊表嗎? –

回答

2

爲我工作的1.2.0 首先一下面我創建OpenShift項目中,我想使用我的形象。

$ oc new-project my-proj 

比我創建一個項目內的圖像流像here

$ oc project my-proj 

描述創建映像流

$ oc create -f - <<API 

apiVersion: v1 

kind: ImageStream 

metadata: 

    annotations: 

    description: Keeps track of changes in the application image 

    name: myimage 

API 

name:包含圖像 的名字比我標記我的圖像。在openshift註冊表中進行身份驗證並推送映像。

身份驗證

$ docker login -u test -e [email protected] .... 

標籤我的形象:

$ docker tag original-image:latest 172.30.x.x/my-proj/myimage:latest 

推圖像

$ docker push 172.30.x.x/my-proj/myimage:latest 

您可以從您的環境中推(只使用服務-IP)或從外部(使用您的安全註冊表的主機名)。

這之後我能我openshift項目中創建我的形象的POD /容器:

$ oc project my-proj 
$ oc new-app my-proj/myimage:latest 
+0

謝謝@ lorenzvth7 ..但是當我運行它時,當我查看pod的狀態時,出現以下錯誤:**狀態:崩潰回退** –

+0

哪個用戶正在容器中運行? (它是根?) – lvthillo

+0

是它的根用戶..我已經授予所有特權,以root身份通過oadm策略運行它。 –

相關問題