2016-10-26 45 views
6

Openshift Origin'de çok yeniyim. Şimdi, docker konteynerlerimi OpenShift menşeli olarak kullanma olasılığını deniyorum. Bunun için ben iki rakam ekler çok basit bir liman işçisi kabı yarattı ve sonucu üretmek: Ben yerel bir liman işçisi görüntü oluşturduOpenshift Origin'de bir docker görüntüsünü çalıştırma

https://github.com/abrahamjaison01/openshifttest

ve liman işçilerinin göbeğine bir kamu liman işçisi görüntüsü:

aşağıdaki gibi
docker pull abrahamjaison/openshifttest 

Ben yerel liman işçisi görüntüsünü çalıştırın:

[[email protected] /]# docker run -it --rm abrahamjaison/openshifttest 
Enter first large number 
12345 
Enter second large number 
54321 
Result of addition = 66666 

Openshift uygulamasında tamamen yeni olduğum için, bunu Openhift ortamında nasıl dağıtacağımı bilmiyorum. Sonra yeni bir uygulama oc new-project openshifttest

:

Ben yeni bir proje oluşturdu oc new-app docker.io/abrahamjaison/openshifttest

Ama sonra girdi temin konsol/terminal nasıl erişebileceğini bilmiyorum. Bunu çalıştırdığımda da birçok kez "oc status" komutunu verdiğimde çıktıyı "konuşlandırma başarısız" olarak aldım.

Temel olarak, bu docker görüntüsünü nasıl açılabileceğimi ve openShield üzerine nasıl ekleyebileceğimi ve ekleme işlemine ilişkin girdileri sağlamak için terminale nasıl erişebileceğimi bilmek isterim.
Birisi bana yardım edebilir mi? "Creating an Application From an Image" bölümünü takiben

cevap

3

OpenShift, temel olarak web uygulaması ve veritabanı gibi uzun süredir devam eden hizmetler içindir. Bir konsolu sarmak ve çıkış yapmak için bir Docker kabını çalıştırması gerçekten amaçlanmamıştır.

yakın sen docker run olarak aynı şeyi alacak geçerli:

daha iyi OpenShift 3 nasıl kullanıldığını, indirmenin anlamak ve ücretsiz e-Kitabı okumak almak için oc run komutu, ancak OpenShift'in ne için olduğu noktasını bozar. Tanımladığınız şey için Docker'ı kendi sisteminizde kullanmaktan daha iyidir.

gerçekten olacağını denemek istedim eğer kullanmak istiyorsunuz emrinde Yalnızca tahmin:

oc run test -i --tty --rm --image=abrahamjaison/openshifttest 

Gerçi gerçekten bu iş için uygun değildir demek gibi. oc run'un mevcut olması, uygulamalarınız için dağıtım sorunları olduğunda test için daha fazladır.

+0

Teşekkür ederiz. Aslında docker resmimi dağıtmama yardımcı oldu. Bununla birlikte, hala yeni-app ve “oc run” üzerinde bir şüphem var. Nasıl farklılar? Benim kullanım durumum, başlangıç ​​sırasında bazı girdiler gerektiren ve daha sonra bu parametreleri temel alan bir docker görüntüsüne sahip olduğum, bir daemon sürecini başlatacak ve devam edecek. Ben openhift için tamamen yeni olduğum için, 'new new app' ve' oc run' & services ve pods kullanımı arasında ayrım yapamıyorum. Ayrıca, yeni uygulama yaptığımda, giriş sağlamak için terminal erişimini alamıyorum. 'oc run -i -tty', girdileri sağlamak için bana bir arabirim sağlıyor. –

+0

Eğer 'oc yeni app'' ile bir uygulamaya girdi sağlamak isterseniz, bunları ortam değişkenlerine iletmelisiniz. Onları, uygulama başlatılırken, komut isteminde bulunan uygulama aracılığıyla etkileşimli bir şekilde iletemezsiniz. –

+0

'' oc new-app'' komutu, her zaman çalışacak ve bazı nedenlerden dolayı yeniden başlatılacaksa yeniden başlatılması gereken web uygulamaları gibi hizmetler için tasarlanmıştır. Bazı girdiler alan ve tamamlanmaya çalışan işler için tasarlanmamıştır. Kubernetes, OpenShift'te kullanabileceğiniz bir işi çalıştırmak için bir iş kavramına sahiptir, ancak uygulamanız sonuçları bir yere yüklemek veya kalıcı bir hacimde saklamak zorundadır, böylece alınabilir. –

2

, sözdizimi olmalıdır: Varsayılan olarak

oc new-app abrahamjaison/openshifttest 

, OpenShift DockerHub resmin arayacaktır.
Ancak bu, GitHub resminizi ilk adresine ittiğinizi varsayar: bkz. "Store images on Docker Hub". Bu süreçteki eksik adım olabilir.

oc ile etkileşim, authentication page'da gösterildiği gibi OpenShift CLI veya web konsolu ile yapılır.

+0

Teşekkürler, ama openhift içinde, girişleri sağlamak için terminale nasıl erişebileceğim? Docker çalıştırırken olduğu gibi, terminali getirmek için docker run komutunda "-it" etiketini sağlayabilir. Fakat bu durumda, hesap makinesi fonksiyonuna ilişkin girdileri nasıl sağlayabileceğim? OpenShift CLI veya web konsolunu kullanarak –

+0

@AbrahamJaison. Https://docs.openshift.org/latest/dev_guide/authentication.html – VonC